我在collections_controller中有这个索引动作
def index
@user = User.find(params[:user_id])
@collections = @user.collections(:status).paginate(page: params[:page])
end
我的主页上有这两个链接
<%= user_collections_path(@user, :status => "Got") %>">collection</a>
<%= user_collections_path(@user, :status => "Want") %>">wantlist</a>
这个想法是他们将链接到这个索引页
<% provide(:title, @user.name ) %>
<h1><% if current_user?(@user) %>Your<% else %>
<%= @user.name %>'s<% end %> collection</h1>
<%= will_paginate %>
<ul class="users">
<%= render @collections %>
</ul>
<%= will_paginate %>
反过来加载这个部分
<li>
<%= image_tag collection.photo.url(:icon), :retina => true %>
<%= link_to collection.miniature.name, collection %>
<%= collection.progress %>
</li>
使用标记为&#34;得到&#34;的用户集合对其进行处理。或标记为&#34的用户集合;旺旺&#34;取决于点击的链接。
目前索引正在加载所有用户的集合。虽然看起来对我来说很合适(例如/ users / 1 / collections?status = Got)
我假设故障是控制器@collections = @user.collections(:status).paginate(page: params[:page])
而不是(:status)我是否需要像@user.collections.where(:status = "?")
这样的东西?
任何帮助都非常感激。
答案 0 :(得分:1)
是的,索引动作应该像
@user.collections.where(status: params[:status]).paginate(page: params[:page])