У меня есть модель Commodity(name:string)
и модель Price(amount:float)
, такие как:
class Commodity < ApplicationRecord
has_many :prices
end
И
class Price < ApplicationRecord
belongs_to :commodity
end
Таким образом, один товар может иметь много цен.
У меня есть поисковая форма Ransack для Commodity, которая, очевидно, позволяет пользователю искать товары.Я хочу включить сортировочный фильтр sort_link(@q, :prices_amount)
.При щелчке по этой ссылке должны отображаться все товары, отсортированные по их ценам (если один товар имеет несколько цен, этот товар будет отображаться несколько раз, при этом цена каждого повторяющегося товара будет отображаться соответственно).В настоящее время Ransack действительно показывает товар несколько раз (столько же, сколько и количество каждого товара), но я не знаю, как отобразить эту цену для каждого повторяющегося товара.
Я хочучтобы узнать, как я должен отображать эту цену в моем интерфейсе .Я отображаю результаты запроса через:
<%=@commodities.each do |commodity|%>
<%=commodity.name%>
<%=commodity.prices.first.amount%> <!-- In place of prices.first, I was to display the amount that Ransack found -->
<%end%>
Я сейчас использую prices.first.amount
в качестве заполнителя.Как заменить это на amount
, найденный Рансаком при сортировке?