2013-07-09 46 views
0

我有一个名为banana.rb为什么我的自定义路线被忽略?

在routes.rb中控制我有:

resources :banana, :path => "ban_fruit" do 
    get 'list' 
    end 

并在浏览器,我打http://host.com/ban_fruit/list.json

但它的错误,告诉我:“在行动'显示'无法找到香蕉控制器“

我需要http://host.com/ban_fruit/list.json工作,我怎么能做到这一点,而无需重命名我的控制器?

+1

尝试'得到 '名单' 上:collection' – apneadiving

回答

0

您可以试试以下:

get 'ban_fruit/list' => 'banana#list' 
# 
# ban_fruit_list GET /ban_fruit/list(.:format) banana#list 
+0

这只有在您的routes.rb中的资源路由之前定义路由时才有效。否则,资源版本将优先。 – sevenseacat

0

你宁愿做:

get 'list', on: :collection 
+0

,但我的收藏不是香蕉。我的收藏是水果。我有香蕉控制器内的代码。我也需要重命名路径。 – hunterp

+0

如果你想保留这条路线,这样做是有道理的 – apneadiving

+0

解决方案是'ban_fruit/list',以:'香蕉#索引'随意更改 – hunterp

相关问题