Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails、Desive、Signup=在其他数据库中写入名称_Ruby On Rails_Ruby_Devise - Fatal编程技术网

Ruby on rails Rails、Desive、Signup=在其他数据库中写入名称

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

我使用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 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一个。)(这是我的情况)这将是一个房间。