我希望生成一个附加到指定路由本身的前缀的链接。像这样显示路径" / old / recipes":
recipes_path(:prefix => "old/") # the correct way should show "/old/recipes"
我不想触摸routes.rb文件,但修改了附加前缀的命名路由。这可能吗?你会怎么做呢?
编辑:我使用Rails 3.添加可选前缀的原因是我也想使用普通的recipes_path。所以我想同时使用" / recipes"和" / old / recipes"。
答案 0 :(得分:11)
如果你不想触摸路径文件,你会遇到很多痛苦,主要是因为这是Rails在试图弄清楚路线走向时会引用的内容。我不知道另一种方法,所以当你确信这是一个好主意时,这里是 config / routes.rb 代码:
scope :path => "old" do
resources :recipes
end
现在,当您转到recipes_path
时,它会转到/old/recipes
,但这可能不是您所追求的。如果是这种情况,那么您可能想要查看as
末尾的scope
选项:
scope :path => "old", :as => "old" do
resources :recipes
end
在这种情况下,此路线现在为old_recipes_path
,仍然路由到/old/recipes
。