Фон
На моем веб-сайте я пытаюсь отобразить 2 таблицы с данными, которые я удалил с другого веб-сайта и поместил в объект с именем Product.Объект Product имеет 2 категории, которые хранятся в виде перечислений, зарегистрированных и незарегистрированных.
Проблема
Проблема возникает, когда я применяю нумерацию страниц в Kaminari.Ниже приведены некоторые изображения, демонстрирующие проблему.
До возникновения проблемы
Когда я нажимаю «2» в таблице «Зарегистрированные продукты», таблица «Незарегистрированные продукты» также переходит к «2 '
Проблема
Я полагаю, это потому, что данные из обеих таблиц получены из одного и того же объекта?В любом случае ниже приведены соответствующие файлы.
Моя модель
class Product < ApplicationRecord
enum product_type: [:registered, :unregistered, :cosmetic]
paginates_per 8
end
Мой контроллер
class HomeController < ApplicationController
def index
@registered_products = Product.where(product_type: 0).page params[:page]
@unregistered_products = Product.where(product_type: 1).page params[:page]
end
end
Моя часть для зарегистрированных продуктов
<table>
<thead>
<tr>
<th scope='col'>Name</th>
<th scope='col'>Chemical</th>
</tr>
</thead>
<tbody>
<% @registered_products.each do |product| %>
<tr>
<td><%= product.product_name %></td>
<td><%= product.chemical %></td>
</tr>
<% end %>
</tbody>
</table>
<%= paginate @registered_products %>
Моя часть для незарегистрированных продуктов такая же, замените @registered_products @ незарегистрированными продуктами.
index.html.erb
<h2>Registered Products</h2>
<%= render partial: "registered" %>
<h2>Unregistered Products</h2>
<%= render partial: "unregistered" %>
То, что я пробовал
Я просматривал документацию Kaminari и заметил, что массивы можно разбить на страницы.Я попробовал это.Ниже приведены измененные файлы.
Контроллер
class HomeController < ApplicationController
def index
registered_products = Product.where(product_type: 0).to_a
unregistered_products = Product.where(product_type: 1).to_a
@registered_products_array = Kaminari.paginate_array(registered_products).page(params[:page]).per(10)
@unregistered_products_array = Kaminari.paginate_array(unregistered_products).page(params[:page]).per(10)
end
end
Все остальные соответствующие файлы аналогичны, просто замените созданными новыми глобальными переменными.Проблема все еще сохраняется.
Итак, мои вопросы: как я могу решить эту проблему, и возникает ли эта проблема, потому что я разбиваю на страницы один и тот же объект несколько раз на одной странице?
Спасибо зачтение, хорошего дня!