Rails link_to索引与变量

时间:2013-11-15 11:32:59

标签: ruby-on-rails

我在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 = "?")这样的东西?

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

是的,索引动作应该像

@user.collections.where(status: params[:status]).paginate(page: params[:page])