私はdevise gemを使用しており、登録/編集ビューでユーザーのオブジェクトを表示しています。
このような問題があります。オブジェクトの削除リンクをクリックすると、ユーザーレコードが破棄されますが、オブジェクトを削除する必要があります。
ユーザーには多くの Web サイトがあるため、ユーザーに自分の Web サイトを表示し、次のコードを使用してユーザーが削除できるようにします。
<% @websites.each do |website| %>
<%unless current_user.websites.empty? %>
<%= link_to 'X', website_path(website), method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>
<% end %>
コントローラーコード:
class RegistrationsController < Devise::RegistrationsController
def edit
@websites = current_user.websites
@reports = current_user.financial_reports
end
end
class WebsitesController < ApplicationController
def destroy
@website = Website.find(params[:id])
if (current_user.id != @website.user_id)
redirect_to root_path
flash[:notice] = 'You are not owner!'
else
@website.destroy
respond_to do |format|
format.html { redirect_to websites_url }
format.js
end
end
end
Websites_controller の標準的な動作は何も変更していません。
誰かがそれを解決する方法を提案できますか?