Ruby on rails Rails、Desive、Signup=在其他数据库中写入名称
我使用Rails 4和Desive。我设置用户需要注册并使用用户名登录,而不是使用电子邮件。现在,一旦用户注册,我想在另一个数据库中写一个名为Room的名字。因此,我得到了具有以下内容的用户\u控制器:Ruby on rails Rails、Desive、Signup=在其他数据库中写入名称,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我使用Rails 4和Desive。我设置用户需要注册并使用用户名登录,而不是使用电子邮件。现在,一旦用户注册,我想在另一个数据库中写一个名为Room的名字。因此,我得到了具有以下内容的用户\u控制器: def create @user = User.new(user_params) if @user.save redirect_to @user, notice: 'User was successfully created.' else render actio
def create
@user = User.new(user_params)
if @user.save
redirect_to @user, notice: 'User was successfully created.'
else
render action: 'new'
end
end
基本上我现在想要的是,用户输入的用户名将用于创建一个房间,我希望在那里发生,但不知道我应该如何实现:
@room = Room.new(???)
???应该是用户注册过程的用户名。如何在设计注册过程中集成类似的内容
感谢您的帮助,谢谢 > P>如果用户有一个房间,请考虑在<代码>用户.Rb模型中使用<代码>后创建< /代码>回调。在该回调中创建一个
房间
self.create_room(name: self.name)
谢谢你的回答。每人只有一个房间。我尝试了使用after_create,但总是出现错误:NoMethodError:未定义用户的“rooms”方法(调用“User.connection”以建立连接):(如果用户拥有一个Room,则上述代码将在创建后的回调中起作用。将来发布Rails问题时,包括模型代码将有助于生成更好的答案。感谢并抱歉提供的信息不足,我对Rails非常陌生。我现在可以使用它了,谢谢!但是rooms.create将只用于has多个has一个。)(这是我的情况)这将是一个房间。