如何在父/子创建中签到孩子?

时间:2011-10-24 23:37:45

标签: ruby-on-rails-3

我正在关注我的应用程序的RoR教程。我的设置略有不同,我对rails很新,我无法弄清楚如何调整代码。在本教程中,您将创建用户并对其进行登录。在我的应用程序中,我创建了一个拥有许多用户的公司。一切正常。但是,我想在创建新的公司/用户对时签署用户(而不是公司)。初始创建是通过Companies_Controller,而教程中的sign_in代码通过Users_Controller运行。

当我以现有用户身份登录时,它可以工作,但是初始创建永远不会命中Users_Controller,因此它不会登录。

我尝试添加:

  

sign_in @ company.users

到Companies_Controller的create方法

在SesionsHelper中,sign_in方法如下所示:

  

def sign_in(用户)
      cookies.permanent.signed [:remember_token] = [user.id,user.salt]
      self.current_user = user
    端

我收到错误:

失败/错误:发布:创建,:公司=> @attr

NoMethodError:
   undefined method `id' for []:ActiveRecord::Relation
 # ./app/helpers/sessions_helper.rb:4:in `sign_in'
 # ./app/controllers/companies_controller.rb:15:in `create'

我不清楚如何将我刚刚在公司创建表单中收集的用户信息传递给SessionsHelper中的方法。或者我是否需要为初始创建编写第二组sign_in方法?任何见解都表示赞赏。

0 个答案:

没有答案