Ruby on rails Rails在控制器中有\u一个关系安全资源。生成\u资源

Ruby on rails Rails在控制器中有\u一个关系安全资源。生成\u资源,ruby-on-rails,has-one,Ruby On Rails,Has One,我有一个页面,当用户创建他们的帐户以创建他们的第一个资源时,它会引导用户完成一个简短的注册教程。在我的应用程序中,:hotel属于:user,并且:user拥有一家酒店。对于教程页面,在我的控制器中,我有: @hotel = current_user.build_hotel 这是可行的,只是用户在教程页面上找到了他,该命令解除了他们先前创建的酒店的关联。换言之,用户第二次访问页面时使用: @hotel = current_user.build_hotel 他们第一次创建的酒店中的用

我有一个页面,当用户创建他们的帐户以创建他们的第一个资源时,它会引导用户完成一个简短的注册教程。在我的应用程序中,:hotel属于:user,并且:user拥有一家酒店。对于教程页面,在我的控制器中,我有:

    @hotel = current_user.build_hotel
这是可行的,只是用户在教程页面上找到了他,该命令解除了他们先前创建的酒店的关联。换言之,用户第二次访问页面时使用:

 @hotel = current_user.build_hotel

他们第一次创建的酒店中的用户id字段变为零。显然,这是一个严重的问题。我可以在那个页面上做一个before_过滤器,但我不太乐意让用户只需访问一个页面就可以把一切搞糟。如何正确使用has_one关系的build命令

在建造酒店之前,您可以测试酒店是否存在:

 @hotel = current_user.hotel || current_user.build_hotel

我看不出这个问题,我想你有一个包含用户id的隐藏字段。这个字段可以直接用
current\u user
设置。