【发布时间】:2013-09-14 09:54:58
【问题描述】:
对此完全感到困惑,因为我相信它使用了正确的安静设置,但我似乎无法删除我的列表。
我有以下几点:
控制器:
def destroy
@list = List.find(params[:id])
@list.destroy
redirect_to lists_path
end
#37 def show
#38 @list = List.find(params[:id])
#39 end
Index.html.haml
- @list.each do |list|
...
= link_to "Delete", list_path(list), method: :delete, data: { confirm: 'Are you certain you want to delete this?' }
...
路线:
ListApp::Application.routes.draw do
devise_for :users
resources :lists
这给出了正确的 rake 路由输出:
lists GET /lists(.:format) lists#index
POST /lists(.:format) lists#create
new_list GET /lists/new(.:format) lists#new
edit_list GET /lists/:id/edit(.:format) lists#edit
list GET /lists/:id(.:format) lists#show
PATCH /lists/:id(.:format) lists#update
PUT /lists/:id(.:format) lists#update
DELETE /lists/:id(.:format) lists#destroy
但是在生产环境中运行时仍然出现以下错误。
I, [2013-09-10T15:27:40.338022 #453] INFO -- : Started GET "/lists/2" for 81.159.35.212 at 2013-09-10 15:27:40 +0000
I, [2013-09-10T15:27:40.340626 #453] INFO -- : Processing by ListsController#show as HTML
I, [2013-09-10T15:27:40.340867 #453] INFO -- : Parameters: {"id"=>"2"}
I, [2013-09-10T15:27:40.354092 #453] INFO -- : Completed 500 Internal Server Error in 13ms
F, [2013-09-10T15:27:40.359807 #453] FATAL -- :
NameError (undefined local variable or method `list' for #<ListsController:0x000000050a7c38>):
app/controllers/lists_controller.rb:38:in `show'
如果有人知道这可能是什么原因,任何帮助将不胜感激:)
【问题讨论】:
-
错误出现在
show操作中,根据错误文本 - app/controllers/lists_controller.rb:38:in `show' - 你能显示该代码吗? -
嗨,达克斯,感谢您的回复。我实际上没有任何列表的显示页面,只是索引。正是从索引页面调用此删除方法。还有其他想法吗? :)
-
您能否向我们展示 ListsController 上第 38 行的代码,即发生错误的行?
-
我在上面的控制器中添加了第 38 行。当真正应该调用删除时,尝试加载显示页面时出错。
标签: ruby-on-rails ruby-on-rails-3 production-environment