我試圖簡單地創建一個按鈕,將從聯繫人列表中刪除聯繫人。Rails聯繫人應用程序聯繫人刪除
目前我有以下設置:
聯繫控制器
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 %>
謝謝 Tom
在'ContactsController#delete'其中是@ user'定義的? – 2012-04-25 18:48:32
爲什麼不在控制器上執行'Contact.delete(params [:id])'? – 2012-04-25 19:05:29
@Jordan @user目前在我的創建'@user = current_user'的定義中定義。 @ismaelga我使用你的方法得到以下錯誤,你知道我怎麼能解決這個問題嗎?使用{:handlers => [:erb,:builder,:coffee],:formats => [:html],:locale => [:en,:en]}缺少模板contact/destroy,application/destroy。搜索:*「C:/ Sites/contact/app/views」' – 2012-04-25 21:42:35