我已经尝试过从我的数据库中删除记录,但是我失败了。它不是删除所选值,而是在我的数据库中插入一个新的空记录。请帮帮我。
我的控制器是:
class CatvaluesController < ApplicationController
...
def destroy
@catvalue = Catvalue.find(params[:id])
@catvalue.destroy
redirect_to catvalues_path
end
....
end
我的表格是:
<%= form_for(@catvalue) do |f| %>
<%= f.collection_select :id, @catvalues, :id, :v_name, {}, class: 'drop-down'%>
<%= f.submit 'Destroy', :confirm => 'Are you sure you want to destroy your account?' %>
<% end %>
答案 0 :(得分:1)
form_for
默认采用post
方法
<%= form_for @catvalue, :method => :delete do |f| %>
好的,我现在正在向表单助手添加url,试试吧!
<%= form_for @catvalue, :url => "/catvalues/#{@catvalue.id}",:method => :delete do |f| %>
答案 1 :(得分:0)
您正在提交POST请求,它将在您的控制器上调用创建操作,因此您的空模型。
您必须使用delete http方法来调用控制器上的destroy操作:
<%= form_for(@catvalue, :method => :delete) do |f| %>