Более простой способ справиться с этим belongs_to polymorphic?

#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. Спасибо, попробую это, как только верну свою среду.