Вот мои модели:Rails пытается присоединиться к 3 таблицы
class Template < ActiveRecord::Base
has_many :application_fields
has_many :application_fields_values
end
class ApplicationField < ActiveRecord::Base
belongs_to :template
has_many :application_fields_values
end
class ApplicationFieldsValue < ActiveRecord::Base
belongs_to :application_field
end
Вот запрос я пытаюсь достичь:
SELECT `application_fields_values`.* , `application_fields`.*, `templates`.*
FROM `application_fields_values`
INNER JOIN `application_fields` ON `application_fields`.`id` = `application_fields_values`.`application_field_id`
inner join `templates` on `templates`.`id` = `application_fields`.`template_id`
Вот что я получил:
@report = ApplicationFieldsValue.joins(:application_field, :template)
Но это дает мне ошибку:
Association named 'template' was not found; perhaps you misspelled it?
Как я могу выполнить запрос выше, используя активную запись?
попытайтесь плюрализовать имя (имена) – Zippie
Что должно оценивать '@ result'? Должны ли они быть экземплярами ApplicationFieldsValue? Или вы хотите, чтобы хэш со значениями из всех объединенных таблиц? –
Мне нужны значения somes из каждой таблицы, поэтому, чтобы сделать мой запрос короче для этого вопроса, я просто использовал все таблицы. *. – Catfish