Как бы Полиморфная Ассоциация (здесь: Комментарии ) сама ассоциировалась с разными типами Авторов?
Начиная с ...
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => :true
end
... я бынужно, чтобы один автор был из модели Хосты, ID 5 , а другой - из Users, 2 .
Как могут выглядеть помощники пути…
<%= link_to comment.author.name, user_path(comment.author) %>
… когда «user_path» или «host_path» являются динамическими, в зависимости от модели автора?
РЕДАКТИРОВАТЬ ***
Есть события, места и т. Д.., которые могут иметь комментарии, например:
has_many :comments, :as => :commentable
К полиморфной модели комментариев я хотел бы добавить идентификаторы и типы для ссылки на авторов комментариев:
create_table "comments", :force => true do |t|
t.text "content"
t.integer "commentable_id"
t.string "commentable_type"
t.integer "author_id"
t.string "author_type"
end
Отображается страница событий.комментарии и щелчок по имени автора должны привести меня либо к User (5), либо к AnotherModel (2), в зависимости от того, кто написал комментарий.
Я хотел бы знать, как все справляются с такой ситуацией.Стоит ли подумать о добавлении второго полиморфного «среднего слоя», такого как «профиль», который может содержать подклассы «Пользователь», «Хост» и т. Д.
РЕДАКТИРОВАТЬ 2
Наличие только одной пользовательской модели, очевидно, облегчит жизнь здесь, но этого нельзя сделать по другим причинам.И вообще мне интересно, как это можно было бы хорошо организовать.