модели объединения, как показано ниже:неопределенный метод `обновление» для # <ActiveRecord :: Ассоциации :: HasOneAssociation
Модель I
class TimeLog < ActiveRecord::Base
has_one :custom_time_field, :dependent => :destroy
end
Модель II
class CustomTimeField < ActiveRecord::Base
belongs_to :time_log
end
Сведения об ошибке:
a = TimeLog.find(1)
a.custom_time_field
#returns => #<CustomTimeField id: 1, time_entry_id: 1, status: 'incomplete', start_time: "2000-01-01 11:24:00", end_time: "2000-01-01 11:24:00">
a.custom_time_field.update(1, :status => '') # returns undefined method `update'
Однако a.custom_time_field.update_attributes() работает
Теперь я могу использовать update_attributes также я могу использовать метод сохранения путем создания объекта
Но почему не могу я использовать метод обновления в таком случае? это полезно, когда несколько атрибутов необходимо обновлять за раз.
Комментарии/Указатели?
Я понял, что метод обновления работает над классом, а не с объектом. но тогда как я могу назвать его с помощью класса с одной ассоциацией? –
Некоторая путаница: есть ли в вашем классе CustomTimeFields 's'? Журнал показывает, что он назван без 's'. – jdoe
о да. thnx для привлечения внимания. –