Rails 4 + Devise:创建用户后,创建XYZ

时间:2016-02-18 01:55:32

标签: ruby-on-rails devise associations

我有一个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

1 个答案:

答案 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