У меня есть две модели, статьи и документы. Каждый из них нуждается в редакторе, т. Е. Содержит элемент содержимого статьи или документа. Полиморфная ассоциация имеет смысл.Имеет ли смысл 1-1 полиморфная ассоциация?
Статья
class Article < ActiveRecord::Base
has_one :editor, :as => :editable
end
Документ
class Document < ActiveRecord::Base
has_one :editor, :as => :editable
end
Editor
class Editor < ActiveRecord::Base
belongs_to :editable, :polymorphic => true
end
модель Редактор содержит следующие атрибуты:
содержание, editable_id, editab le_type (название модели, то есть статья или документ)
Все это прекрасно работает, но мне оно нужно?
Если я хочу получить доступ к телу контента для данной статьи, могу ли я просто не просто получить идентификатор поля редактора так?
@article = Article.find(params[:id])
@editor_id = @article.editor.id
и выполнить мой редактор, найти на этом.
В этом случае я не вижу преимущества взаимно однозначной полиморфной взаимосвязи. Может ли кто-нибудь настроить меня прямо?
editable_id не уникален ... Я бы хотел, чтобы вы могли скрыть глупые вопросы о SO! –