太阳黑子:分散一定数量的关联?

时间:2011-11-14 14:22:09

标签: ruby-on-rails ruby-on-rails-3 pagination will-paginate sunspot

如果我有以下关联:

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 %>

你如何在太阳黑子中做到这一点?

1 个答案:

答案 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,比如订购它或者其他什么。 希望它会对你有所帮助。祝你好运:)

相关问题