2013-11-15 59 views
0

指數我有這個指數的行動在我collections_controller的Rails的link_to可變

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> 

根據點擊哪個鏈接,用標記爲「Got」的用戶集合或標記爲「Want」的用戶集合進行輪詢。

當前索引正在加載用戶的收藏夾。儘管在這看我的權利路徑(如/用戶/ 1 /收藏狀態=得到了什麼?)

我認爲故障是這一行控制器@collections = @user.collections(:status).paginate(page: params[:page])

相反的(:狀態),我需要或許像@user.collections.where(:status = "?")

任何幫助非常感謝。

+0

你問一個問題嗎? 或只是確認您的答案 是的,索引操作應該像 @collections = @ user.collections.where(status:params [:status]).paginate(page:params [:page]) –

+0

絕對要求問題,因爲雖然我在正確的軌道上,我不能說得很對。非常感謝。 – Ossie

回答

1

是,指數的行動應該像

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

完美。奇蹟般有效。 – Ossie