다음 개발자 the ruby on rails guide 개발자는 보호 된 필드를 대량 할당 할 수는 없지만 예외를 시도하지는 않습니까? rails
응용 프로그램에서 new
방법을 통해 하지만 내 경우 대량 할당에서 다른 PARAMS :레일 : MassAssignmentSecurity :: Error
@edition = Edition.new params[:edition]
인상 다음과 같은 예외 :
ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: price
이유는 무엇입니까? 내가 잘못 알고 있니? 대량 할당 예외를받지 않는 방법입니까? 배정에서 보호 속성을 해시에서 삭제하는 것은 편리하지 않습니다.
업데이트 : 에디션 모델 :
class Edition < ActiveRecord::Base
attr_accessible :title, :description
attr_protected :price
end
params[:edition].inspect
: 당신은을 즉
@edition = Edition.new params[:edition]
을 넣어 대량 할당의 보호 속성 가격을 지정하려는
{"title"=>"t", "description"=>"d", "price"=>"123"}
모델에'attr_accessible'이 있습니까? –
예,'attr_accessible' 필드와'attr_protected'''price' 필드 만 있습니다. – tiktak
attr_protected에서 제거하십시오. attr_accessible에 없으면 대량 할당되지는 않지만 예외는 더 이상 발생하지 않아야합니다. –