Root的Rails Path Helper应该输出“/”

时间:2011-03-03 19:21:11

标签: ruby-on-rails ruby-on-rails-3 routing routes

在我的路线文件中,我有一个名为products的资源。产品资源的索引操作也是我的根本路径。

resources :products
root :to => "products#index"

当我使用辅助方法products_path(在重定向或链接中)时,它返回“/ products”。但我想要的是它返回“/”。我知道它是同一页面,但我想保持我的URL一致。

我该如何解决这个问题?

谢谢!

4 个答案:

答案 0 :(得分:1)

root :to => 'products#index', :as => :products
match '', :to => 'products#index', :as => :root  # recreate named root_path, if you use it anywhere

这需要显示在resources :products下方,就像上面的例子中一样。这将覆盖您从products_path获得的products_urlresources。在比较之前和之后运行rake routes

答案 1 :(得分:1)

如果您只想更改索引,请先尝试将其排除,然后再自行定义:

resources :products, :except => [:index]
resources :products, :only => [:index], :path => '/'

答案 2 :(得分:0)

root_path()应该返回/

答案 3 :(得分:0)

我想你可以将products_path重新定义为与root_path相同(就像在帮助文件中一样):

def products_path(*params)
  root_path *params
end