Как изменить запрос администратора Rails? - PullRequest
0 голосов
/ 03 июля 2018

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

Я просмотрел вики и ТАК и не нашел ответов.

Как изменить запрос?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

добавьте нумерацию страниц и убедитесь, что вы загружаетесь, чтобы избежать проблем с n + 1.

 @users = User.where.not(customer_id: nil).where(deleted_date: nil).
order('users.name').eager_load(:role).eager_load(:customer)
.paginate(:page => params[:page], :per_page => 10)

Пример запроса пользователя с ролью и клиентами. Обязательно добавьте отношения в модель.

0 голосов
/ 03 июля 2018

Если вы спрашиваете, как выполнить пользовательский SQL, вы можете сделать это, используя find_by_sql, например:

Post.find_by_sql "SELECT p.title, c.author FROM posts p, comments c WHERE p.id = c.post_id"

Подробнее здесь: https://apidock.com/rails/ActiveRecord/Base/find_by_sql/class

...