Как получить значения id после сохранения модели ActiveRecord в рельсах

У меня есть модель ActiveRecord (я на рельсах 2.3.8), называемый пользователем, и я сохраняю ее как

user = User.new
user.name = "user name"
user.save!

то, что я хочу сделать, это получить сгенерированный идентификатор пользователя после создания пользователя. Но в настоящее время он возвращает значение true/false при сохранении

Как я могу получить сохраненный идентификатор пользователя?

Ответы

Ответ 1

Просто позвоните user.id после того, как вы сохранили.

Ответ 2

Для людей, которые ищут при создании в модели, ниже представлен способ:

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

Ответ 3

как я это делал,

class User < ActiveRecord::Base  
...  
  id = nil
  after_save {id = self.id}
...
end

а затем локальная переменная id доступна во всей модели