2

after_saveコールバックで最近保存されたレコードIDを使用したいのですが、可能であればどうすればよいですか?

after_save :create_children

def create_children
 self.id
end

更新:保存機能に問題が発生しました。時間を無駄にして申し訳ありません。

ありがとう

4

2 に答える 2

5

私はこれでそれを試しました:

 class Thing < ActiveRecord::Base
   after_save :test_me

   def test_me
     puts self.id
   end
 end

およびコンソール:

$ rails c
Loading development environment (Rails 3.0.4)
>> x=Thing.new
=> #<Thing id: nil, name: nil, created_at: nil, updated_at: nil>
>> x.save
2
=> true
>> y=Thing.create
3
=> #<Thing id: 3, name: nil, created_at: "2011-04-27 15:57:03", updated_at: "2011-04-27 15:57:03">

あなたのモデルでは他に何が起こっていますか?

于 2011-04-27T15:58:14.203 に答える
1

オブジェクトを保存した後にreload()を呼び出すと、self.idが入力されます

于 2011-04-27T14:11:08.127 に答える