9

使用{:trailing_slash => true}在链接中添加尾部斜杠很容易,但如果用户输入的是非斜杠网址,则不会解决这个问题。有没有办法通过路由器中的重定向强制执行尾部斜线?在Rails路由中强制执行尾部斜杠

get "/:controller/:id" => redirect{|params| "/#{params[:controller]}/#{params[:id]}/" } 

上述引线的环状环。

为什么?

“./subclass” 对

/parent/1 

相对链接是非常不同的比

/parent/1/ 

回答

8
在config/application.rb中文件

,在添加

config.action_controller.default_url_options = { :trailing_slash => true } 

应用程序类

+2

我不认为t他解决了问题。添加config.action_controller.default_url_options = {trailing_slash:true}只能确保在rails中生成的url包含尾部的斜杠。如果你想确保用户在他们的请求url中有尾部斜线,如果他们手动输入它,那么你需要这样的东西:http://www.jumph4x.net/post/16395866916/ensuring-a-trailing-slash- in-rails-w-out – 2015-01-28 04:10:20

+0

这不再适用-1 – 2016-01-18 01:35:50