#ruby-on-rails
#ruby-on-rails
Вопрос:
В модели у меня есть следующее :
belongs_to :embeddable_actor, :class_name => 'EmbeddedObject', :foreign_key => 'actor_id'
def actor
embeddable_actor.embeddable
end
Где EmbeddedObject — это полиморфный объект, который может быть действующим лицом. Мой вопрос в том, есть ли более простой способ получить ‘actor’ вместо написания метода? Как has_one : через?
ОБНОВЛЕНИЕ: Вот часть информации, которая была запрошена :
belongs_to :embeddable, :polymorphic => true
Спасибо
Комментарии:
1. вы можете использовать
has_one :through
, но нам нужна дополнительная информация о том, как выглядит embedabble_actor, особенно о том, как.embeddable
определяется вEmbeddedObject
.2. Добавил эту часть информации в исходный вопрос.
3. попробуйте
has_one :actor, :through => :embeddedable_actor, :source => :embedabble
4. Спасибо, попробую это, как только верну свою среду.