Поиск с ассоциациями - Рубин на рельсах - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть три связанные таблицы, мне нужно получить все данные из моей таблицы TransactionSara через ассоциации. Мне нужны все данные в моей таблице событий, чтобы получить все данные в моем помощнике по таблицам, а затем получить все данные из моей таблицы TransactionSara

class Event < ActiveRecord::Base
  has_many :transaction_saras, through: :assistants
end

class Assistant < ActiveRecord::Base  
  has_many :transaction_saras, dependent: :destroy
  belongs_to :event
end

class TransactionSara < ActiveRecord::Base
  belongs_to :assistant
end

Я пытался решить это с этим

Event.all.each do |event|
  event.assistants.transaction_saras
end

но я получаю ошибку:

undefined method `transaction_saras' for 
#<ActiveRecord::Associations::CollectionProxy []>

Есть идеи, как я могу сделать этот поиск?

1 Ответ

0 голосов
/ 04 апреля 2019

На SO уже есть несколько ответов, вам нужно включить связанные модели, чтобы иметь возможность иметь связанные записи при их итерации по ним,

Event.includes(assistants: :transaction_saras).all.each do |event|
  p event.assistants # this will be a list of assistants for that event
  p event.assistants.first.transaction_saras.first
end

Посмотрите здесь

Вы можете прочитать об ассоциациях Activerecord на направляющих рельсов

...