如果我有以下关联:
Product has_many :user_prices
UserPrice belongs_to :product
我的目标是每页显示5个产品,只有这么多user_prices(比方说5个):
class SearchController < ApplicationController
def index
@search = Product.search do
fulltext params[:search]
# This gives 5 producuts per page but how about that and 5 UserPrices?
paginate(:per_page => 5, :page => params[:page])
end
@products = @search.results
end
end
查看:搜索/索引
<% @products.each do |p| %>
<%= p.name %>
<% p.user_prices.each do |up| %>
<%= number_to_currency(up.price) %>
<%= up.purchase_date %>
<% end %>
<% end %>
你如何在太阳黑子中做到这一点?
答案 0 :(得分:1)
Will_Paginate在这里不会帮助您,因为您已经“分页”了Product
模型的集合。我认为你最好在你的观点中做这样的事情:
<% @products.each do |p| %>
<% p.user_prices.last(5).each do |price| %>
<%= #some info from user prices %>
<% end %>
<% end %>
这只是一个例子。你也可以为UserPrice模型实现一些scope
,比如订购它或者其他什么。
希望它会对你有所帮助。祝你好运:)