渲染:新的URL参数

时间:2018-04-28 22:42:15

标签: ruby-on-rails redirect

我更新ruby on rails并且我正在尝试修复我从前一名员工继承的应用程序。

基本上,用户点击来自这样的电子邮件的链接。 https://www.example.com/events/event_name/event_registrants/new?partner=microsoft

他们将部分表格留空,然后点击提交按钮。由于空白字段,event_registration模型失败,然后将它们重定向回https://www.example.com/events/event_name/event_registrants/new

在此过程中丢失?partner = microsoft url参数。

我发现控制器的区域将它们重定向回具有验证错误的站点。当前代码执行此操作:

render :new

我添加了if / else语句,如果没有合作伙伴,它会显示正确的页面...但是当有合作伙伴时我会收到错误。

if @event_registration.partner.nil?
   render :new
else
   redirect_to :action => "new", :partner => @event_registration.partner.try(:token)
end

这样可行,但我试图将@event_registration模型传递给重定向,以便显示模型验证错误消息。

有人可以帮忙吗?

由于 jlimited。

1 个答案:

答案 0 :(得分:0)

在重定向之前抓取参数,并使用重定向传递它们。

在这种情况下:

params = [:partner => 'microsoft']

redirect_to new_event_registration_path(params)

类似的问题: Passing parameters in rails redirect_to