Должен ли я создать другую таблицу соединений для того же типа отношений? - PullRequest
1 голос
/ 29 октября 2010

У меня есть посты, за которые может проголосовать полиморфная ассоциация.Теперь я также делаю комментарии голосуемыми.Могу ли я поделиться теми же моделями и логикой для моих комментариев?Или я должен создать новую модель отношений?

#post.rb
has_many                      :votes, :as => :votable                          
has_many                      :voting_users,                                   
                              :through => :votes,                              
                              :source => :user 
#vote.rb
belongs_to :votable, :polymorphic => true

1 Ответ

3 голосов
/ 29 октября 2010

Да, вы должны иметь возможность скопировать два отношения has_many из вашей модели поста и без проблем поместить их в comment.rb. Поскольку ваша модель голосования является полиморфной, до тех пор, пока в таблице votes есть votable_id:integer и votable_type:string, все должно работать нормально.

...