我试图简单地创建一个按钮,该按钮将从联系人列表中删除联系人。
目前我有以下设置:
联系人控制器
def destroy
@user.contacts.delete(params[:contact])
@contact.delete
end
看法
<tbody>
<% @contacts.each do |contact| %>
<tr>
<td><%= contact.name %></td>
<td><%= contact.company %></td>
<td><%= contact.email %></td>
<td><%= contact.phone %></td>
<td><%= contact.mobile %></td>
<td><%= button_to 'Delete', contact, :method => :delete %></td>
</tr>
<% end %>
路线
controller :contact do
get "newcontact" => "contact#new"
get "index" => "contact#index"
delete "delete" => "contact#destroy"
end
我在网上读到使用 button_to 是首选方法,但目前我收到以下错误:
undefined method `contacts' for nil:NilClass
很高兴获得任何可能帮助我解决此问题的反馈。
提前谢谢汤姆
对于任何寻求最终答案的人来说
def destroy
contact = current_user.contacts.find(params[:id])
contact.destroy
redirect_to index_path
end
在我的控制器中,在我看来以下
<%= button_to 'Delete', contact, :method => :delete %>
谢谢汤姆