我有一个名为banana.rb的控制器
在routes.rb中我有:
resources :banana, :path => "ban_fruit" do
get 'list'
end
在浏览器中,我点击http://host.com/ban_fruit/list.json
但它错了,告诉我:“BananaController无法找到动作'show'”
我需要http://host.com/ban_fruit/list.json才能工作,如何在不重命名控制器的情况下执行此操作?
答案 0 :(得分:0)
你宁愿这样做:
get 'list', on: :collection
答案 1 :(得分:0)
您需要将路线定义为收集路线。
有关成员与收集路线的信息,请参阅http://guides.rubyonrails.org/routing.html#adding-more-restful-actions。
否则,您的网址将与您的控制器的show
操作相匹配(操作将在参数中收到:id => 'list'
。
答案 2 :(得分:0)
尝试如下:
get 'ban_fruit/list' => 'banana#list'
#
# ban_fruit_list GET /ban_fruit/list(.:format) banana#list