J'essaie d'ajouter une fonctionnalité similaire à mon site mais je n'arrive pas à trouver la bonne façon d'utiliser une association polymorphe. Un utilisateur doit pouvoir suivre 3 classes différentes, ces 3 classes ne suivent pas l'utilisateur. J'ai créé un utilisateur suivant utilisateur dans le passé, mais cela s'avère plus difficile.Mise en place d'une association polymorphe
Ma migration était
class CreateRelationships < ActiveRecord::Migration
def change
create_table :relationships do |t|
t.integer :follower_id
t.integer :relations_id
t.string :relations_type
t.timestamps
end
end
end
Mon modèle relationnel est
class Relationship < ActiveRecord::Base
attr_accessible :relations_id
belongs_to :relations, :polymorphic => true
has_many :followers, :class_name => "User"
end
Dans mon modèle d'utilisateur
has_many :relationships, :foreign_key => "supporter_id", :dependent => :destroy
et dans les 3 autres modèles
has_many :relationships, :as => :relations
Est-ce que je manque quelque chose avec la mise en place de cette association?
Avez-vous essayé de tester ce via la console? Assurez-vous également d'exécuter vos migrations. Quels sont les 'autres 3 modèles'? –
Pouvez-vous élaborer sur 'has_many: relations,: foreign_key =>" supporter_id "'? –
désolé le "supporter_id" était une faute de frappe –