2014-06-07 63 views
1

具有讀取我如何使用變量從鏈接

<a href="<%= user_collections_path(@user, :status => "Got") %>">Collection</a> 

一個鏈接,另一個讀取

<a href="<%= user_collections_path(@user, :status => "Want") %>">Wantlist</a> 

它們鏈接到相同的看法,但產生不同的列表。 在該視圖頁面上,我希望能夠根據它是否爲收藏或願望清單頁面來更改文字。事情是這樣的:

<% if :status == 'Got' %>collection<% elsif :status == 'Want' %>wantlist<% end %> 

顯然,這不工作,但多次實驗後,我無法工作,如何查詢其地位在鏈路中傳遞。這可能嗎?

回答

1

你應該做這樣

<% if params[:status] == 'Got' %>Collection 

<% elsif params[:status] == 'Want' %>Wantlist 

<% end %> 
+0

啊,所以params是什麼使它看起來在鏈接中傳遞的參數?謝謝謝謝。 – Ossie

+1

@WorldOfProper是的! 「params」是你需要的魔法詞。 – Pavan

0

傳遞給link_to獲得投入params哈希的參數。在這裏,params[:status]是你如何訪問它,無論是在視圖中還是在控制器中。

0

link_to_if可能是您的問題的替代解決方案。

link_to_if(params[:status] == 'got', "Collection", user_collections_path(@user)) do 
    link_to "Wantlist" user_collections_path(@user) 
end 
+0

他沒問過!他希望如何在視圖頁面上改變'status'方面的'text'。 – Pavan

+0

是的,我會在任何時候都有這兩個鏈接,因爲他們是替代品。感謝您向我介紹like_to_if,但這非常方便。 – Ossie

+1

@Pavan我說**備用解決方案**以上,不是確切的解決方案。我建議再次檢查我的答案。另外,不需要有一個exlamation標記。 – ekremkaraca