Rails 4 + 设计:创建用户后,创建 XYZ
Rails 4 + Devise: After create user, create XYZ
我有一个通过 Devise 创建的 User
模型,创建后,我想自动创建一个新的 Client
(我的应用程序中的另一个模型)。新 Client
的属性 :user_id
应该等于刚创建的 User
的 :id
。我相信我需要使用类似的东西:
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
和 User has_one :client
您可以在用户模型 (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
我有一个通过 Devise 创建的 User
模型,创建后,我想自动创建一个新的 Client
(我的应用程序中的另一个模型)。新 Client
的属性 :user_id
应该等于刚创建的 User
的 :id
。我相信我需要使用类似的东西:
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
和 User has_one :client
您可以在用户模型 (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