在我的路线文件中,我有一个名为products的资源。产品资源的索引操作也是我的根本路径。
resources :products
root :to => "products#index"
当我使用辅助方法products_path(在重定向或链接中)时,它返回“/ products”。但我想要的是它返回“/”。我知道它是同一页面,但我想保持我的URL一致。
我该如何解决这个问题?
谢谢!
答案 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_url
和resources
。在比较之前和之后运行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