У меня есть класс Order с полеморфным полем orderalbe.Некоторые продукты ассоциируются с Order, например Book.
. Это нормально работает, если Book имеет Mongoid :: Document, но некоторые продукты не сохраняются в локальной базе данных вместо извлечения из API.
Есть лихороший способ справиться с этим делом?Должен ли я реализовать некоторые методы, которые могут быть такими же, как локальное хранилище?
class Order
include Mongoid::Document
belongs_to :orderable, polymorphic: true
end
class Book
include Mongoid::Document
end
class Car
def self.find(id)
# Fetch from API
new Car()
end
end
o = Order.create(orderable_id: 1, orderable_type: 'Car')
o.orderable
=> nil # why is nil? Not use self.find() method?