Development Tip

Rails 4 강력한 매개 변수 : 모든 속성을 허용합니까?

yourdevel 2020. 11. 10. 22:22
반응형

Rails 4 강력한 매개 변수 : 모든 속성을 허용합니까?


Rails 4 강력한 매개 변수를 사용하여 웹 앱을 구축하고 있습니다.

관리 백 오피스 컨트롤러를 구축 할 때 모든 모델 속성을 허용하는 가장 좋은 방법이 무엇인지 궁금합니다.

지금은 이렇게 썼습니다.

def user_params 
  params.require(:user).permit(User.fields.keys)
end

더 나은 방법을 생각하십니까?


허가증의 뱅 버전을 호출 할 수 있습니다.

params.require(:user).permit!

Github의 Strong Params README

참조 용 소스 코드 :

def permit!
  each_pair do |key, value|
    convert_hashes_to_parameters(key, value)
    self[key].permit! if self[key].respond_to? :permit!
  end

  @permitted = true
  self
end

Skull0inc의 답변이 작동하지만 created_atupdated_at. 강력한 매개 변수의 목적은 컨트롤러에서 업데이트 할 수있는 속성 만 나열하는 것입니다. 뭔가 ...

def user_params
  params.require(:user).permit(User.column_names - ["created_at", "updated_at"])
end

작동할까요?

def user_params 
  params.require(:user).permit(User.column_names)
end

참고 URL : https://stackoverflow.com/questions/14033908/rails-4-strong-parameters-permit-all-attributes

반응형