【问题标题】:Rails - how can I capture the URL that directed to the current action in my app?Rails - 如何在我的应用程序中捕获指向当前操作的 URL?
【发布时间】:2011-02-17 15:48:39
【问题描述】:

我需要在我的控制器中查看请求来自哪个页面,以便能够重定向回它。例如,如果我在一个显示特定产品的页面上(比如/products/1)并且它有一个指向其供应商的链接(/vendors/12),我希望能够检测到我来到该页面的 vendor_controller来自/products/1。 Rails 中是否有一种简单的方法来实现这一点,以便我可以通过参数或会话访问它?谢谢。

【问题讨论】:

    标签: ruby-on-rails session routing redirect


    【解决方案1】:

    redirect_to :back 可以在控制器中用于重定向回发出请求的页面。它使用HTTP_REFERER 标头的值来确定返回的位置。

    【讨论】:

    • 我不知道你能做到这一点 - 太棒了!
    【解决方案2】:

    你也可以使用

    redirect_to request.referrer
    

    如此处所述http://api.rubyonrails.org/classes/ActionController/AbstractRequest.html

    说实话,我认为这就是上面后面的事情。另请参阅 S/O 上的其他地方

    Correctly doing redirect_to :back in Ruby on Rails when referrer is not available

    【讨论】:

      猜你喜欢
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多