首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails,从新建重定向到创建

Rails,从新建重定向到创建
EN

Stack Overflow用户
提问于 2010-11-23 09:38:44
回答 3查看 3K关注 0票数 2

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

代码语言:javascript
复制
<%= link_to 'Register', new_event_boat_path(@event) %>

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-23 10:30:19

代码语言:javascript
复制
def new
   #assuming boats is an array 
   if boats.size > 1
       redirect_to boats_path(:user => params[:user], :boat => params[:boat]), :method => :post
   else
      #new stuff
   end
end

boats_path或您尝试创建的任何对象。

票数 -1
EN

Stack Overflow用户

发布于 2011-09-11 01:36:43

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

代码语言:javascript
复制
def new
   if event_only_requires_one_user_per_boat
       create
   else
      #display new form
   end
end

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

票数 4
EN

Stack Overflow用户

发布于 2010-11-23 10:26:14

相反,您可以创建一个方法来封装create操作中的大部分代码,并从create (通常使用参数)和new中的特殊情况(从user对象发送数据)调用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4251953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档