0
J'essaie d'associer des contacts à des classes, mais sous deux types différents. Current_classes et Intested_classes.Association de modèles avec polymorphes
Je sais que je dois activer polymorphique mais je ne suis pas sûr de l'endroit où il doit être activé.
C'est ce que j'ai au moment
class CreateClasses < ActiveRecord::Migration
def self.up
create_table :classes do |t|
t.string :class_type
t.string :class_name
t.string :date
t.timestamps
end
end
def self.down
drop_table :classes
end
end
class CreateContactsInterestedClassesJoin < ActiveRecord::Migration
def self.up
create_table 'contacts_interested_classes', :id => false do |t|
t.column 'class_id', :integer
t.column 'contact_id', :integer
end
end
def self.down
drop_table 'contacts_interested_classes'
end
end
class CreateContactsCurrentClassesJoin < ActiveRecord::Migration
def self.up
create_table 'contacts_current_classes', :id => false do |t|
t.column 'class_id', :integer
t.column 'contact_id', :integer
end
end
def self.down
drop_table 'contacts_current_classes'
end
end
Et puis à l'intérieur de mes contacts Model Je veux avoir quelque chose comme ça.
class Contact < ActiveRecord::Base
has_and_belongs_to_many :classes, :join_table => "contacts_interested_classes", :foreign_key => "class_id" :as => 'interested_classes'
has_and_belongs_to_many :classes, :join_table => "contacts_current_classes", :foreign_key => "class_id" :as => 'current_classes'
end
Qu'est-ce que je fais mal?
Je l'ai lu cela, mais il n'a pas aidé à mon problème. Ai-je besoin de créer un autre champ dans la table de jointure qui soit lié à courant ou intéressé? –
Tout d'abord, vous ne suivez aucune convention. Essayez de le suivre. C'est vraiment utile.Oui encore en utilisant la convention appropriée. Sérieusement je ne te donne pas de réponse parce que quelqu'un m'a aidé de la même manière. Lisez cet article dont j'ai parlé de zéro –
Merci pour le conseil, je l'ai relu et j'ai trouvé une bien meilleure façon de le faire! –