当我在索引页面上并单击删除链接以销毁帖子时,我收到了该错误:
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
答案 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 %>