В моей пользовательской модели rails я пытаюсь написать метод, который будет возвращать список для текущего периода времени, а при отсутствии списка для этого периода времени создать список, который связан с пользователем, а затем вернуть это:
class User < ActiveRecord::Base
def todaysList
today = Time.new
if self.lists.where(:date => today.to_date)
return self.lists.where(:date => today.to_date).first #Get the object, not the ActiveRecord::Relation
else
self.lists.create!(:date => today.to_date) #Make the list, return it!
end
end
Мой вопрос: почему при вызове self.lists.create! (: Foo => 'bar') ассоциация пользователей не заполняется?
Я решил обойти это более небрежно, явно назначив пользователя при создании! вызов, как таковой:
self.lists.create!( :date => today.to_date, :User_ID = self.id)
однако это решение просто не выглядит правильным.
Заранее спасибо и, как всегда, извиняюсь за глупые, лишние или плохо сформулированные вопросы.