加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails 3中没有尾随斜杠的情况下重定向到规范

发布时间:2020-12-17 03:45:47 所属栏目:百科 来源:网络整理
导读:在Rails 3上,我正在尝试从没有尾部斜杠的URL重定向到具有斜杠的规范URL. match "/test",:to = redirect("/test/") 但是,上面的路由匹配/ test和/ test /导致重定向循环. 如何使其仅匹配没有斜杠的版本? 解决方法 您可以在控制器级别强制重定向. # File: app
在Rails 3上,我正在尝试从没有尾部斜杠的URL重定向到具有斜杠的规范URL.

match "/test",:to => redirect("/test/")

但是,上面的路由匹配/ test和/ test /导致重定向循环.

如何使其仅匹配没有斜杠的版本?

解决方法

您可以在控制器级别强制重定向.

# File: app/controllers/application_controller.rb
class ApplicationController < ActionController::Base

  protected

  def force_trailing_slash
    redirect_to request.original_url + '/' unless request.original_url.match(//$/)
  end
end

# File: app/controllers/test_controller.rb
class TestController < ApplicationController

  before_filter :force_trailing_slash,only: 'test'  # The magic

  # GET /test/
  def test
    # ...
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读