ActiveRecord:使用ID初始化对象

时间:2012-12-10 21:28:59

标签: ruby-on-rails activerecord

我有一个检查现有User的简单方法,如果没有找到它将创建它并将创建一个Profile对象。

由于配置文件需要保存user_id,因此如果不存在,我需要以某种方式使用ID初始化用户。

我最终得到了类似的内容,但在初始化用户时,这并没有预设user_id

 def create_or_update_user(user)
   user_object = User.find_or_initialize_by_external_id(user['external_id'])

   if user_object.new_record?
     user_profile = user_object.build_profile(params)
   end
   user_object.save

 end

知道在初始化用户记录时如何设置ID?

1 个答案:

答案 0 :(得分:2)

我认为你不能,即便如此,我认为你不应该这样做。如果您在未创建记录的情况下为用户分配id,则最终保存记录时可能会id

保存用户,然后构建和保存个人资料有什么问题?