我正在尝试让一条简单的路线正常工作
/agenda_items/5/feed
为此,我有以下路线设置
resources :agenda_items do
member do
get "/feed", to: "comments#feed"
end
end
在我的每个控制器中,我都使用 CanCan 来处理身份验证并且它工作正常,但是在这个操作中我遇到了一个问题,我很确定这是由于 rails naming generation. When I run
rake routes`,上面的路线是产生为
feed_agenda_item /agenda_items/:id/feed(.:format) agenda_items/:id#feed
据我所知,CanCan 期望:id
参数实际上是:agenda_item_id
这样,因此我的父资源没有被加载。
有什么方法可以让 Rails 改变它,这样 CanCan 就可以工作,而无需我手动加载和授权资源,或者有什么方法可以让 CanCan 改变它在某些操作上寻找的内容?