未知操作没有操作响应删除。操作:添加,编辑和索引

时间:2011-05-18 13:23:12

标签: ruby-on-rails

当我在索引页面上并单击删除链接以销毁帖子时,我收到了该错误:

Unknown action

No action responded to delete. Actions: add, edit, and index

删除旁边的编辑链接可以解决问题我不明白为什么删除不起作用。这就是我的控制器car_controller.rb

def delete
    @car = Car.find(params[:id])
    flash[:notice] = "Question #{@car.name} deleted!"
    @car.destroy
    redirect_to :controller => :car, :action => :index
  end

map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
  map.root :controller => "main"
  map.root :controller => "car"
end

2 个答案:

答案 0 :(得分:0)

删除操作实际上是不是会破坏?

如果查看作为脚手架一部分生成的控制器,您应该看到删除操作映射到的内容...

当您生成控制器时,Rails提供了7种经典的RESTful操作,并且每种操作都在操作方法上方注释了实际的URL +方法......

# DELETE /subject_families/1
# DELETE /subject_families/1.xml
def destroy
  ...
end

我希望这会有所帮助......

答案 1 :(得分:0)

确保您的请求使用正确的HTTP动词。 Rails对REST资源的默认设置是在destroy动作上使用HTTP DELETE。您使用GET(简单链接)还是POST而不是DELETE?

我建议检查你的路线 - 运行rake routes - 以确认Rails的期望。如果你正在使用Rails的资源路由生成器,那么我希望你的视图模板包含这样的东西:

<%= form_for @car, :html => { :method => :delete } do |f| %>
  <%= submit_tag 'Delete Car' %>
<% end %>