私は最近 Rails を使用していますが、このMassAssignment エラーは、子を で保存したいシナリオで頻繁に見られparent_id
ます。
attr_accessbile
これを修正するために、関連する外部キーをリストに追加することを誰もが提案しています。
そうすることで解決できましたが、内部で何が起こっているのかわかりません。foreign_key
ホワイトリストに登録するとセキュリティ上の問題が生じるというのは本当ですか?
次のモデルのシナリオを考えてみましょう。
class BusinessType < ActiveRecord ::Base
has_one :business_form
validates :name, :presence => true
attr_accesible :name, :enabled
end
class BusinessForm < ActiveRecord ::Base
belongs_to :business_type
validates :name, :presence => true
validates_associated :business_type, :presence=>true
attr_accessible :name, :enabled
end
上記の場合、リストbusiness_form
なしbusiness_type_id
で保存しようとするattr_accessible
と、大量割り当てエラーが発生します。business_type
ホワイトリストに追加すると、選択ボックスが空のままでフォームが送信されても、エラーメッセージは表示されません。
レールのこの領域に光を当ててください。詳細を説明するリンクがあれば教えてください。