【发布时间】:2012-03-13 18:01:54
【问题描述】:
我的控制器中有这个:
def boards
@user = User.find_by_slug(params[:id])
@search = @user.boards.solr_search do |s|
s.fulltext params[:search]
s.keywords params[:search]
s.order_by :created_at, :desc
s.paginate :page => params[:page], :per_page => 1
end
@boards = @search.results
respond_to do |format|
format.html { render :layout => nil}# panel.html.erb
format.json { render json: @boards }
format.js
end
end
在我看来:
<table id="body_object">
<% for board in @boards %>
<tr class="attributes">
<td>
<%= board.id %>
</td>
<td>
<%= board.name %>
</td>
<td>
<%= board.description %>
</td>
</tr>
<% end %>
</table>
<div id="content_pagination">
<%= paginate @boards, :remote => :true %>
</div>
控制器中的@user.boards是属于用户的每一块板。
但我得到了像Boards.all 这样的每个板。
我只想获取属于用户的所有板。
我尝试过使用@user.boards,但我有这样的数组分页:
@boards = Kaminari.paginate_array(@user.boards).page(params[:page]).per(1)
如何解决太阳黑子的这个问题?
编辑:添加控制台测试
1.9.2-p290 :094 > Board.all.size #I get count boards for Board.all
=> 4
1.9.2-p290 :095 > user = User.first #I get the first
1.9.2-p290 :096 > user.boards.size #I get count for boards belongs to user
=> 2
1.9.2-p290 :098 > user.boards.solr_search.total # This is the problem :O The result must be 2
=> 4
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 solr sunspot