Я использую DataMapper с адаптером redis в библиотеке Ruby.DataMapper Redis: не удается найти дочерний элемент из родителя, только родительский элемент от дочернего
У меня есть эти классы определены:
class Zone
include DataMapper::Resource
property :id, String, :key => true, :unique_index => true, :default => lambda { |x,y| UUID.new.generate }
property :preview_mode, Boolean, :default => false
timestamps :at
has 1, :campaign
end
и
class Campaign
include DataMapper::Resource
property :id, String, :key => true, :unique_index => true, :default => lambda { |x,y| UUID.new.generate }
property :name, String
timestamps :at
belongs_to :zone
has n, :rules
validates_presence_of :name
end
Я могу сделать Campaign.first.zone но не Zone.first.campaign.
Я хотел был бы быть в состоянии сделать поиск в обоих направлениях.
Ваш код, кажется, работает здесь. Какая ошибка вы получаете? –
@AdielMittmann - Нет ошибки, однако код не ведет себя так, как я ожидаю. Я хотел бы иметь возможность искать ребенка от родителя, а также от родителя от ребенка. В настоящее время с этой конфигурацией работают только запросы от дочернего к родительскому. – lightyrs
Но что происходит, когда вы делаете что-то вроде 'puts Zone.first.campaign.name'? После создания зоны и кампании, в моей настройке этот фрагмент кода выполняет поиск как ожидалось :) –