2

例如,我在 routes.rb 中有这个死记硬背:

get 'companies/' => 'companies#index', :as => :companies

有一种方法可以生成带有斜杠的链接(例如“http://website.com/companies/”):

link_to 'Compaines', companies_path(:trailing_slash => true)

但是如果默认情况下路由中存在斜杠,我希望 Rails 生成带有斜杠的链接:

link_to 'Companies', companies_path

现在它会生成类似“http://website.com/companies”的内容。如何解决?

4

2 回答 2

7

我不确定为什么你需要你的路线来理解有一个斜杠。是否将斜杠放在 Rails 上并不重要。它应该以任何方式响应。

如果您希望所有链接都带有斜杠,可以在 application.rb 中添加以下内容:

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

这将使 Rails 生成的所有链接都带有斜杠。现在,如果您尝试拒绝任何不包含斜杠的路线,那么我不确定如何做到这一点。

于 2011-11-22T01:02:00.227 回答
-2

如何实现一个名为 link_to_with_trailing_slash(name, path) 的助手?

def link_to_with_trailing_slash(name, path)
  link_to(name, "#{path}/"
end
于 2011-06-26T22:36:16.420 回答