0

ユーザーとプロジェクトの2つのモデルがあります

ユーザー->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

AssosiationTable

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