1
奇怪!當我使用fields_for
聲明一個嵌套的屬性字段,Rails添加與嵌套屬性的id的隱藏屬性(執行更新):Rails添加嵌套的屬性ID以形成導致質量分配的形式
= form_for @opinion do |f|
= f.fields_for :client do |client_f|
= client_f.text_field :name
給我:
<input name="opinion[client_attributes][name]" type="text" />
<input name="opinion[client_attributes][id]" type="hidden" value="4" />
這導致:
Can't mass-assign protected attributes: client_attributes
當然,這裏是我的模型:
class Opinion < ActiveRecord::Base
attr_accessible :content
attr_accessible :client_id
validates :content, :presence => true, :length => { :maximum => 2048 }
belongs_to :client
accepts_nested_attributes_for :client
end
class Client < ActiveRecord::Base
attr_accessible :name
validates :name, :presence => true, :length => { :maximum => 64 }
has_many :opinions
end
是否存在導軌視圖或模型問題?
任何想法如何解決這個問題?提前致謝。
非常感謝。我認爲這是由'accept_nested_attributes'自動完成的。 – htaidirt
它只是「添加」嵌套的屬性:) – code4j