簡體   English   中英

如何使Rails不忽略路線中的尾部斜杠?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM