0

我正在尝试在更改时更新多选列表,但出现路由错误。我用 onchange 事件调用它$.post("/levels/category_lists_for_level"

我在一个名为category_lists_for_level的控制器中调用了一个动作level

我的路线文件看起来像这样。

match '/levels/category_lists_for_level/:id'  => 'levels#category_lists_for_level'
resources :levels 
resources :levels , :collection => {:category_lists_for_level => :get}

我在这里做错了什么?我在 Rails 2 中从来没有遇到过任何问题,我都是用来添加集合的。

4

1 回答 1

0

很难准确地说出您需要什么,因为正如其他人所说,您缺少一些信息,但是这里发生了一些明显的事情:

  1. 您正在复制路线
  2. 您在集合和成员上设置了路线
  3. 您允许多种请求类型(get 和 post)访问此路由。

如果您想对集合进行此操作,您只需要:

resources :levels do
  post "category_lists_for_level", :on => :collection 
end 

或在成员上:

resources :level do 
  get "category_lists_for_level", :on => :member
end

这将减少您的路线。只需用于rake routes | grep level获取此控制器的路由。

看看这个以获得更多信息。

于 2013-05-07T22:05:00.900 回答