субмодель, субкласс или субконтроллер ruby ​​на ссылках рельсов - PullRequest
1 голос
/ 22 сентября 2010

Я занят созданием приложения ruby ​​on rails.

Я хочу создать модель, содержащую текстовую модель, модель изображения и модель ссылки.Каждая модель может иметь комментарии, но я не хочу делать разные модели комментариев для текста, рисунков и моделей ссылок.Можно ли сделать так, чтобы медиа-модель имела подкласс (или как он называется) ака: модель изображения, модель текста и модель ссылки.Или есть другой чистый способ сделать это.Спасибо

Ответы [ 3 ]

2 голосов
/ 22 сентября 2010

Вы можете создать модель комментариев, которая имеет полиморфную ассоциацию :

# Comment model
belongs_to :commentable, :polymorphic => true

# Other model that should has comments
has_many :comments, :as => :commentable

Вы можете добавить строку выше к каждой модели, которая нуждается в комментариях. Чтобы иметь полиморфную ассоциацию, вам нужно иметь эти столбцы в таблице комментариев в db:

commentable_id   - int
commentable_type - string

Вы также можете использовать некоторый плагин для комментариев, например this .

0 голосов
/ 06 октября 2010

Разве нельзя добавить для типа носителя evert новую таблицу базы данных с комментариями, text_comment, picture_comment и link_comment.они могут быть сделаны во время миграции, единственная проблема заключается в том, как я могу вызвать информацию из этих баз данных?

0 голосов
/ 22 сентября 2010

Вы на правильном пути. У вас может быть медиа-модель с комментариями has_many. После этого вы можете расширять мультимедиа в своих моделях изображений, ссылок и текста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...