我对rails很新,我正在使用设计来为我的用户注册并登录进程。在注册时,如果用户没有邀请令牌,我希望他们也注册并创建与其用户帐户相关联的业务。
以下是我在试图创建新业务时在RegistrationsController中收到的错误的屏幕截图。
这是我在registrations_controller.rb中的代码:
if params[:invite_code]
...
else
resource = build_resource({})
resource.businesses.build() # Inserts a blank object for business
respond_with resource
end
有关为何无法传递所提供的商业信息并创建新业务的任何想法?提前感谢您的帮助。
答案 0 :(得分:1)
我认为这只是一个多元化的问题。 has_one
上的User
关联应该是单数(:business
),控制器(resource.business.build()
)和accepts_nested_attributes_for
中的方法调用也应如此。
话虽这么说,控制器的那部分应该永远不会被击中。您的所有逻辑都应包含在此first conditional中。发生的所有事情here都应该被提取到另一个方法中,并在成功save
之后调用。以下是重构registrations_controller.rb
:https://gist.github.com/ccschmitz/7ea0a41180e25de9168d