連絡先のリストから連絡先を削除するボタンを単純に作成しようとしています。
現時点では、次のセットアップがあります。
連絡先コントローラー
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 %>
ありがとうトム