2013-04-01 3 views
0

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

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

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

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

или

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

ответ

0

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

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

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

Вот так, нет запросов :)

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

class Account << ActiveRecord::Base 
.... 
def to_label 
"cod: #{account_number}" 
end 
Смежные вопросы