2012-02-06 11 views
7

que estoy haciendo actualmente asociación como esta:activo administrador has_many través de la asociación de eliminación

show do 
    h3 project.title 
    panel "Utilisateurs" do 
    table_for project.roles do 
     column "Prenom" do |role| 
     role.user.firstname 
     end 
     column "Nom" do |role| 
     role.user.lastname 
     end 
     column "email" do |role| 
     role.user.email 
     end 
     column "Role" do |role| 
     role.role_name.name 
     end 
    end 
    end 
end 

# override default form 
form do |f| 
    f.inputs "Details" do # Project's fields 
    f.input :title 
    f.input :code 
    end 

    f.has_many :roles do |app_f| 
    app_f.inputs do 
     # if object has id we can destroy it 
     if app_f.object.id 
     app_f.input :_destroy, :as => :boolean, :label => "Supprimer l'utilisateur du projet" 
     end 
     app_f.input :user,  :include_blank => false, :label_method => :to_label 
     app_f.input :role_name, :include_blank => false 
    end 
    end 
    f.buttons 
end 

Tengo las siguientes asociaciones:

Proyecto

has_many :roles, :dependent => :destroy 
has_many :users, :through => :role 

usuario

has_many :roles, :dependent => :destroy 
has_many :projects, :through => :role 

papel

belongs_to :user 
belongs_to :project 
belongs_to :role_name 

NombreRol

has_many :roles 

Cuando intento de destruir asociación de usuarios a través de mi forma no pasa nada, alguna idea para solucionar esto? ¿O para agregar un enlace de eliminación a mi bloque de programa?

Respuesta

16

intenta agregar accepts_nested_attributes_for a su modelo de proyecto (y roles_attributes a attr_accessible):

class Project < ActiveRecord::Base 
    has_many :roles, :dependent => :destroy 
    has_many :users, :through => :role 
    accepts_nested_attributes_for :roles, :allow_destroy => true 

    attr_accessible :roles_attributes, (+ all you had here before) 
    ... 
end 
+0

Muchas gracias :) – Awea

+0

Gracias, gracias, gracias :) –

4

allow_destroy: verdadera es la raíz de este problema.

Cuestiones relacionadas