あなたがこの構造を持っているとしましょう:
class House < ActiveRecord::Base
has_many :rooms
accepts_nested_attributes_for :rooms
attr_accessible :rooms_attributes
end
class Room < ActiveRecord::Base
has_one :tv
accepts_nested_attributes_for :tv
attr_accessible :tv_attributes
end
class Tv
belongs_to :user
attr_accessible :manufacturer
validates_presence_of :user
end
Tvのユーザーは意図的にアクセスできないことに注意してください。つまり、家、部屋、テレビを1ページで入力できるトリプルネストフォームがあります。
コントローラのcreateメソッドは次のとおりです。
def create
@house = House.new(params[:house])
if @house.save
# ... standard stuff
else
# ... standard stuff
end
end
質問:世界でどのようにuser_id
各テレビにデータを入力しますか(current_user.idから取得する必要があります)?良い習慣は何ですか?
これが私がこれで見るcatch22です。
- ハッシュ
user_ids
に直接入力しparams
ます(かなり深くネストされています)user_ids
一括割り当てできないため、保存は失敗します
- #saveが終了した後、すべてのテレビのユーザーにデータを入力します
user_id
存在する必要があるため、保存は失敗します- 上記をバイパスしても、テレビはしばらくの間IDなしになります-吸う
これを行うための適切な方法はありますか?