У меня есть панель инструментов, которая показывает результаты, полученные от модели пользователей и нянь.
В моем user.rb у меня есть
User has_many :nannies
Няня.рб имеет
Nanny belongs_to :user
Пользователь имеет некоторые основные атрибуты (имя, адрес электронной почты, телефон и т. Д.)
Няня имеет другие атрибуты (пол, часы, дни и т. Д.)
Прямо сейчас у меня есть эти строки для реализации Ransack и выборки пользователей в соответствии с фильтрами. Индексный метод контроллера -
@users = User.ransack(params[:q])
@people = @users.result
Я могу отфильтровать результаты по атрибутам от няни. Форма фильтра в представлении выглядит следующим образом
<%= search_form_for @users do |f| %>
<%= f.label :firstname_cont %>
<%= f.search_field :firstname_cont %>
<%= f.label :lastname_cont %>
<%= f.search_field :lastname_cont %>
<%= f.label :role_eq %>
<%= f.search_field :role_eq %>
<%= f.label :nannies_gender_cont %>
<%= f.search_field :nannies_gender_cont %>
<%= f.label :nannies_hours_eq %>
<%= f.search_field :nannies_hours_eq %>
<%= f.submit %>
<% end %>
Результаты отображаются так:
<% @people.each do |test| %>
<%= test.id %>
<%= test.firstname %>
<%= test.email %>
<%= test.hours %>
<% end %>
Я получаю сообщение об ошибке «неопределенный метод часов для пользователя» (что, очевидно, относится к модели няни).
Мне нужно, чтобы я смог достичь следующего
Загрузить всех пользователей и связанных с ними нянь
Запустить Ransack и отфильтровать результаты
Показать все атрибуты из всех связанных моделей в представлении
Буду очень признателен за любые указания / исправления в этом выпуске.