@user = User.find(1)
@event = Event.find(1)
for interest in @event.interests
@user.choices.create(:interest => interest, :score => 1)
end
工作正常,但它創造的記錄每一次。我想檢查是否存在具有來自for循環的相應interest_id的記錄,如果它有,我想更新,否則創建是好的。
我環顧四周,發現了「find_or_create_by」的方法,但它不是一個真正爲我工作。我有=>
@user.choices.find_or_create_by_interest(:interest => interest.id, :score => 1)
並得到錯誤「未定義的方法`find_by_interest'」。
你能看到我在做什麼錯?或者,堅持一個if/else語句會更好嗎?
我不是肯定的,如果find_or_create_by方法有內它的更新屬性能力。
我的錯誤...未知的關鍵( s):得分,興趣?你以前見過這個嗎? – ChrisWesAllen 2011-01-07 00:30:42