[英]How to make Rails do not ignore trailing slashes in the routes?
例如,我在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”的內容。 如何解決?
我不確定您為什么需要自己的路線來理解是否有斜杠。 是否將尾部斜杠放在Rails上都沒有關系。 它應該以任何方式響應。
如果希望所有鏈接都帶有斜杠,可以在application.rb中添加以下內容:
config.action_controller.default_url_options = { :trailing_slash => true }
這將使Rails生成的所有鏈接都帶有斜杠。 現在,如果您要拒絕任何不包含斜杠的路由,那么我不確定該怎么做。
如何實現一個名為link_to_with_trailing_slash(name,path)的助手?
def link_to_with_trailing_slash(name, path)
link_to(name, "#{path}/"
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.