【发布时间】:2013-04-17 07:22:27
【问题描述】:
我面临一个奇怪的错误“AbstractController::ActionNotFound(无法为 EntryLevelsController 找到动作 'show')” 我没有定义“显示”动作,因为我不需要它。相反,我在资源 entry_levels 的集合中定义了自定义路由,如下所示:
resources :entry_levels do
collection do
get 'create_entry_level'
post 'create_entry_level'
get 'edit_entry_levell'
post 'edit_entry_level'
get 'update_entry_level'
post 'update_entry_level'
get 'delete_entry_level'
post 'delete_entry_level'
get 'entry_level_cancel'
post 'entry_level_cancel'
get 'change_priority'
post 'create_entry_level'
end
end
奇怪的是,rails 为 index、show、create、delete、update 和 edit 操作生成 url,就好像我在我的 routes.rb 文件中的某处定义了一个“资源:entry_levels”,但事实并非如此。我不知道为什么有关显示操作的错误不断弹出。
我的 rake 路线如下所示:
create_entry_level_entry_levels GET /entry_levels/create_entry_level entry_levels#create_entry_level
POST /entry_levels/create_entry_level entry_levels#create_entry_level
edit_entry_levell_entry_levels GET /entry_levels/edit_entry_levell entry_levels#edit_entry_levell
edit_entry_level_entry_levels POST /entry_levels/edit_entry_level entry_levels#edit_entry_level
update_entry_level_entry_levels GET /entry_levels/update_entry_level entry_levels#update_entry_level
POST /entry_levels/update_entry_level entry_levels#update_entry_level
delete_entry_level_entry_levels GET /entry_levels/delete_entry_level entry_levels#delete_entry_level
POST /entry_levels/delete_entry_level entry_levels#delete_entry_level
entry_level_cancel_entry_levels GET /entry_levels/entry_level_cancel entry_levels#entry_level_cancel
POST /entry_levels/entry_level_cancel entry_levels#entry_level_cancel
change_priority_entry_levels GET /entry_levels/change_priority entry_levels#change_priority
POST /entry_levels/create_entry_level entry_levels#create_entry_level
entry_levels GET /entry_levels entry_levels#index
POST /entry_levels entry_levels#create
new_entry_level GET /entry_levels/new entry_levels#new
edit_entry_level GET /entry_levels/:id/edit entry_levels#edit
entry_level GET /entry_levels/:id entry_levels#show
PUT /entry_levels/:id entry_levels#update
DELETE /entry_levels/:id entry_levels#destroy
【问题讨论】:
-
何时收到此错误?我的意思是在哪个网址上。
-
@maximus,当我从下拉选择框中选择课程时调用 entry_levels 控制器中的操作时会弹出错误。使用 ajax