Rails 如果引用者则执行问题

发布于 2024-11-19 18:26:33 字数 456 浏览 2 评论 0 原文

我试图找出在控制器中围绕 Rails 特定引用者构建 if else if 语句的最佳方法。有没有办法拉出最后一条轨道路径并在下面的语句中使用它?我想我已经很接近了,但完全被难住了......

这是一个更新操作,将从网站上多个位置的一个表单中进行操作。

我正在寻找替换“form_path”

def update
  @object = Milestone.find(params[:id])
    if @milestone.update_attributes(params[:milestone])
      if request.referer == form_path
        redirect_to root_path
      else
        redirect_to object2_path
      end
    else
      ....
    end
 end

I am trying to figure out the best way to build an if else if statement in the controller around a rails specific referrer. Is there a way to pull the last rails path and use it in the below statement? I think I am close but totally stumped...

This is an update action that will be hit from one form at multiple locations on the site.

I am looking to replace "form_path"

def update
  @object = Milestone.find(params[:id])
    if @milestone.update_attributes(params[:milestone])
      if request.referer == form_path
        redirect_to root_path
      else
        redirect_to object2_path
      end
    else
      ....
    end
 end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷乱花海 2024-11-26 18:26:33

form_path 是您在控制器其他地方定义的变量吗?除了理解之外,它看起来应该有效。

您可以根据隐藏字段的来源在表单中放置一个隐藏字段,然后将其从参数哈希中取出,而不是弄乱引用者。

像这样:

hidden_field_tag :location, controller_name

然后在控制器中:

if params[:location] == yadda yadda

Is form_path a variable you're defining somewhere else in the controller? Outside of understanding that, it looks like it should work.

Instead of messing with referer, you could place a hidden_field in the form based on where it's coming from, and pull that out of the params hash.

Something like:

hidden_field_tag :location, controller_name

Then in the controller:

if params[:location] == yadda yadda
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文