Должен ли я создать другую таблицу соединений для того же типа отношений?

#ruby-on-rails #models #polymorphic-associations

#ruby-on-rails #Модели #полиморфные ассоциации

Вопрос:

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

 #post.rb
has_many                      :votes, :as =&&t; :votable                          
has_many                      :votin&_users,                                   
                              :throu&h =&&t; :votes,                              
                              :source =&&t; :user 
#vote.rb
belon&s_to :votable, :polymorphic =&&t; true
  

Ответ №1:

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