2011-01-10 9 views
1

を与える工夫 -Railsの3 - ネストされたフォーム私は、これはここにいくつかの時間をカバーしてきた知っているが、私はこのエラーを解決するように見えるカント質量割り当てエラー

WARNING:マスアサイン保護することはできません属性:new_order_attributes

これは保存されるようにしようとしているネストされたハッシュである -

Parameters: {"utf8"=>"✓","authenticity_token"=>"UNKZf7zvlyReHSCbMRRl+9y+F5/2YF8Rf64Wm9O9xyo=", "user"=>{ "new_orders_attributes"=>[{"plan_id"=>"2", "price_id"=>"2222"}], "first_name"=>"Alex", "last_name"=>"Handley", "email"=>"[email protected]", "job_title"=>"Programmer", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}} 

ユーザーデータが保存されているが、順序が保存されていません。

モデル

ユーザー

devise :database_authenticatable, 
    :recoverable, :rememberable, :trackable, :validatable 

attr_accessible :email, :password, :password_confirmation, :remember_me, :name, :location, :country, :job_title, :company, :parent_id,:first_name,:last_name,:subscription_type, 
:orders, :plan_id, :user_id, :price_id 

has_many :orders 
has_many :plans, :through => :orders 
accepts_nested_attributes_for :orders, :plans 

受注

class Order < ActiveRecord::Base 
belongs_to :plan 
belongs_to :user 
end 

計画

has_many :orders 
has_many :users, :through => :orders 

Railsの-v - 3.0.3

ネストされたフォーム

<% prefix = "user[new_orders_attributes][]" %> 
    <%= fields_for prefix, @user.orders do |order_form| %> 
    <%= order_form.hidden_field :plan_id, :value => 2 %> 
    <%= order_form.hidden_field :price_id, :value => 2222 %> 
    <% end %> 

おかげで、アレックス

+0

新しいオーダーのネストフォームを表示するにはどうすればよいですか? –

+0

申し訳ありません、あなたのコメントを以前に見たことがありませんでした! – Alex

答えて

2

attr_accessible文で属性リストにorders_attributesを追加してみてください。

+0

それは運がなかったことを試してみました! – Alex

+0

Hmm。フォームを見ると、あなたは 'user [new_orders_attributes]'を持っているようです。単純に 'user [orders_attributes]'ではないでしょうか? – zetetic

+0

それは私にすべての週末を悩ませた:)感謝! – Alex

関連する問題