ゲストは他のゲストからアイテムを購入するため、アイテムには購入者と売り手があり、ゲストには購入したアイテムと購入したアイテムがあります。accepts_nested_attributes_forと同じテーブルとの2つの関係
class Guest < ActiveRecord::Base
has_many :bought_items, class_name: 'Item', foreign_key: 'buyer_id'
has_many :sold_items, class_name: 'Item', foreign_key: 'seller_id'
accepts_nested_attributes_for :bought_items, :reject_if => lambda { |a| a[:price].blank? } , :allow_destroy => true
accepts_nested_attributes_for :sold_items, :reject_if => lambda { |a| a[:price].blank? } , :allow_destroy => true
end
と
class Item < ActiveRecord::Base
belongs_to :seller, class_name: 'Guest', foreign_key: 'seller_id', inverse_of: :bought_items
belongs_to :buyer, class_name: 'Guest', foreign_key: 'buyer_id', inverse_of: :sold_items
attr_accessor :buyer_id, :seller_id
end
フォームがために、(私は今のところ購入をコード化しました)バック正しくPOSTデータを送信して表示されます。
アップデートがために起こるParameters: {"utf8"=>"✓", "authenticity_token"=>"9gR+GZfhT4CffM3ML9LkZaYK+eA85a1oLRG+NRqoRnY=",
"guest"=>{
"guest_number"=>"3",
"bought_items_attributes"=>{
"0"=>{
"item_number"=>"432",
"description"=>"test",
"seller_id"=>"27",
"sales_price"=>"10.0", "id"=>"1"},
"1"=>{
"item_number"=>"",
"description"=>"",
"seller_id"=>"27",
"sales_price"=>"0.0"}
}
},
"commit"=>"Save Changes",
"id"=>"28"}
guest_numberは変更されますが、ネストされた属性は変更されません。モデルの設定に何か問題はありますか?
これはRails 3.1です。
ああ。それは確かに問題です。私は*時間*を見てきました!一言...ありがとうございました。 – Brenda