0

我正在使用设计 gem 并在注册/编辑视图上显示用户的对象。

我有这样的问题:当我单击删除对象链接时 - 它会破坏用户记录,但应该删除对象。

用户有很多网站,所以我向用户展示了他的网站,并希望用户可以使用以下代码删除它:

<% @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 中标准行为的任何内容。

有人可以建议如何解决吗?

4

1 回答 1

2

值得检查您的关联。如果您:dependent => :destroy在用户和网站之间建立错误的关联,那么销毁网站也会导致关联的用户也被销毁。

于 2012-10-16T08:24:39.467 回答