我有一个ActiveRecord模型(我在rails 2.3.8上)叫做user,我将它保存为
user = User.new
user.name = "user name"
user.save!
我想要做的是在创建用户后获取生成的用户ID。但目前保存后它只会返回true/false值。
如何获取保存的用户ID?
我有一个ActiveRecord模型(我在rails 2.3.8上)叫做user,我将它保存为
user = User.new
user.name = "user name"
user.save!
我想要做的是在创建用户后获取生成的用户ID。但目前保存后它只会返回true/false值。
如何获取保存的用户ID?
保存后,只需调用user.id
即可。
对于寻找模型中on create的人,以下是方法:
class User < ActiveRecord::Base
...
after_create :do_something
def self.do_something
user_id = id #this will have last created id
# use this according to your needs
end
...
end
我做的方式是
class User < ActiveRecord::Base
...
id = nil
after_save {id = self.id}
...
end
然后本地变量id在整个模型中都可用
user.id
。 - David Hempy