Как лучше всего выполнить следующий запрос в отношении «многие ко многим» в Rails 6.
Это моя структура:
class Contact < ApplicationRecord
has_and_belongs_to_many :lists
end
class List < ApplicationRecord
has_and_belongs_to_many :contacts
end
Это файл миграции :
class AddContactsListsRelation < ActiveRecord::Migration[6.0]
def change
create_table :contacts_lists do |t|
t.belongs_to :contact
t.belongs_to :list
end
end
end
И это мой запрос:
class ContactsLists < ApplicationRecord
def self.find_with_page(listId, paginationQuery)
contacts = List.find(listId).contacts
result = contacts.order(created_at: paginationQuery[:order]).limit(paginationQuery[:page_size])
.offset(paginationQuery[:page_number] * paginationQuery[:page_size])
result
end
end
Я не разбираюсь в API запросов Rails, но думаю, что это неоптимальный способ выполнить два разных запроса, верно?