Ruby on rails Rails,从新建重定向到创建

Ruby on rails Rails,从新建重定向到创建,ruby-on-rails,Ruby On Rails,嘿,我正在写一个应用程序来处理体育赛事的注册。这些项目中有些项目每次参赛都有多名运动员,而有些项目只有一名运动员。我目前正在将运动员发送到BoatsController上的新动作,如下所示: <%= link_to 'Register', new_event_boat_path(@event) %> 我的问题是,如果新操作看到事件只需要每个船一个用户,我如何将用户直接转发到创建操作?更简单地说,如何从操作中生成POST?您可以创建一个方法来封装来自create操作的大部分代码,

嘿,我正在写一个应用程序来处理体育赛事的注册。这些项目中有些项目每次参赛都有多名运动员,而有些项目只有一名运动员。我目前正在将运动员发送到
BoatsController
上的新动作,如下所示:

<%= link_to 'Register', new_event_boat_path(@event) %>


我的问题是,如果新操作看到事件只需要每个船一个用户,我如何将用户直接转发到创建操作?更简单地说,如何从操作中生成POST?

您可以创建一个方法来封装来自create操作的大部分代码,并从create(像往常一样使用参数)和new中的特例(从用户对象发送数据)调用它


boats\u path
或任何您试图创建的对象。

您不需要做任何花哨的事情。创建操作只是控制器中的一个方法。您可以像调用任何其他方法一样调用它:

def new
   if event_only_requires_one_user_per_boat
       create
   else
      #display new form
   end
end

此外,这种技术可以防止用户发出多个请求,因为它不会使用户重定向。

希望它能奏效,但不是像我相信你知道的那样,你将来应该怎么做。
def new
   if event_only_requires_one_user_per_boat
       create
   else
      #display new form
   end
end