は私がUser
モデル、belongs_to :user
Task
モデル、:has_one :event
を持っていると言う、completed
ブール属性、およびタスクが完了したときに作成され、またbelongs_to :event
さEvent
モデルを持っています。私は最初の方法は思えますが代わりにアソシエーションのIDを直接使用する必要がある場合はいつですか?
# app/controllers/task_observer.rb
class TaskObserver < ActiveRecord::Observer
def after_update(task)
def after_update
task.create_event(:user=>task.user) if task.completed?
end
end
の私は
task.create_event(:user_id=>task.user.id)
あるいは
task.create_event(:user_id=>task.user_id)
を書くことができていることに気付きましたTaskObserver
で
最も正しいのは、後者のバリエーションのいずれかを使用する利点ですか?
これは実際の動作です。あなたはhas_oneがもっと適切だと思いますか? –