0

我有两个模型用户和项目

用户 -> has_many :projects ,:dependent=>:destroy

项目 -> has_and_belongs_to_many :users

我还创建了一个映射表 projects_users。

当我尝试删除用户时,其相应的项目并未从项目表中删除,并且映射表也显示相同的数据而没有更改,唯一发生的是我的用户数据正在删除。

有什么方法可以删除关联数据,并从映射表中删除条目。

项目模型

class Project < ActiveRecord::Base
  attr_accessible :name ,:user_ids
  has_and_belongs_to_many :users
end

用户模型

class User < ActiveRecord::Base
  attr_accessible :name
  has_many :projects 
end

关联表

class ProjectsUsers < ActiveRecord::Migration
  def up
    create_table :projects_users, :id => false do |t|

        t.references :project
        t.references :user
    end
  end

  def down
    drop_table :projects_users
  end
end

用户:_form.html.erb

<%= semantic_form_for @user  do |f| %>
    <%= f.inputs do %>
     <%= f.input :name %>
     <% end %>
    <%= f.actions %>
  <% end %>

项目:_form.html.erb

<%= semantic_form_for @project  do |f| %>
    <%= f.inputs do %>
     <%= f.input :name %>
     <%= f.input :users, :as => :check_boxes %>
    <% end %>
    <%= f.actions %>
  <% end %>

提前致谢。

4

0 回答 0