0

我有一个名为banana.rb 的控制器

在 routes.rb 我有:

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

在浏览器中,我点击http://host.com/ban_fruit/list.json

但它出错,告诉我:“找不到 BananaController 的动作‘显示’”

我需要http://host.com/ban_fruit/list.json 才能工作,如何在不重命名控制器的情况下做到这一点?

4

3 回答 3

0

尝试如下:

get 'ban_fruit/list' =>  'banana#list'
#
# ban_fruit_list GET /ban_fruit/list(.:format)    banana#list
于 2013-07-09T09:12:44.170 回答
0

你宁愿这样做:

get 'list', on: :collection
于 2013-07-09T08:27:34.157 回答
0

您需要将您的路线定义为收集路线。

有关成员与收集路线的信息,请参阅http://guides.rubyonrails.org/routing.html#adding-more-restful-actions

否则,您的 URL 将与show您的控制器的操作相匹配(并且该操作将:id => 'list'在参数中接收)。

于 2013-07-09T08:28:44.050 回答