0

モデルの関連付けは次のとおりです。

モデル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を使用でき、オブジェクトを作成してsaveメソッドを使用することもできます。

しかし、なぜそのような場合に更新メソッドを使用できないのですか?これは、一度に複数の属性を更新する必要がある場合に役立ちます。

コメント/ポインタ?


updateモデルのクラスメソッドです。このように呼んでください:

CustomTimeField.update(1, :status => '')
4

1 に答える 1

2

updateモデルのクラス メソッドです。次のように呼び出します。

CustomTimeField.update(1, :status => '')
于 2012-05-14T07:10:04.013 に答える