我有一个User
模型,它是通过Devise创建的,在创建之后,我想自动创建一个新的Client
(我的应用程序中的另一个模型)。新Client
的atrribute :user_id
应该等于刚创建的:id
的{{1}}。我相信我需要使用类似的东西:
User
这是完成此操作的正确方法吗?此外,如果关联很重要class Users::RegistrationsController < Devise::RegistrationsController
after_create :create_client
def create_client
Client.create(:user_id, :id) # Not sure what should go here
end
end
和Client belongs_to :user
答案 0 :(得分:1)
您可以在用户模型(user.rb)中添加after_create回调,检查here以获取有关如何创建has_one关联的更多信息。
class User < ActiveRecord::Base
after_save :add_client
def add_client
self.create_client(client_attribute1: value, client_attribute2: value)
end
end