ActiveScaffold найти таблицу соединений?

У меня есть общий поиск полей в ActiveScaffold работает. Я не уверен, как сделать этот более сложный поиск.

У меня есть две таблицы: "Учетная запись" и "Пользователь", и я хочу найти электронные письма и получить список соответствующих учетных записей. Поле электронной почты находится в поле Пользователь, а Аккаунт has_many: пользователи.

У меня проблемы с продумыванием того, как должен происходить запрос. В идеале я хотел бы сделать что-то вроде этого:

Account.where(email: 'search_term').all

или же

User.where(email: 'search_term').includes(:account).all

1 ответ

Если вы хотите искать данные из одной таблицы и возвращать результаты (в том числе) из другой, просто добавьте эти внешние столбцы как виртуальные столбцы:

в пользовательском контроллере:

active_scaffold :user do |conf|
conf.search.columns << :email
conf.list.columns << :account
#...
end

Вот и все, без запросов:)

если в результатах столбца аккаунта отображается код типа <# 23423.. это потому, что Active Scaffold не может сказать, как описать записи этого класса, поэтому вы говорите, как вы хотите в модели:

class Account << ActiveRecord::Base
....
def to_label
 "cod: #{account_number}"
end 
Другие вопросы по тегам