2016-10-03 42 views
0

我想這樣做了一段時間,而我錯過了我猜想的正確方法。

我到底想做什麼。我有一個遍歷項目的循環,只是想根據用戶在HTML選擇器中選擇的內容對它們進行不同的排序。Rails 4:依賴於HTML選擇器的順序循環

例如:

控制器

@items = Item.all 

查看

- @items.order("created_at DESC").each do |item| 

在該實例中"created_at DESC"應該得到具有取決於一個HTML塞萊茨的代碼其他線路交換TOR。

希望我的問題很容易理解。預先感謝每個答案!

+0

您是否想要使用表格列? –

+0

@Moataz Zaitoun - 不僅僅是元素的順序 - 所以我猜想這些行。我不是在表格中輸出數據,而是使用無序列表。 – Gugubaight

+0

您是否提供查看代碼請致電 –

回答

1

既然你沒有提供有關你要使用我會解釋這樣做的一個非常基本的方式HTML選擇足夠的信息...

我假設在項目索引視圖你必須聯繫一個將整理項目由創建日期desc和其他asc

所以在你項目/ index.html.erb添加你想要

個鏈接3210
<%= link_to 'Sort asc', order: 'created_at asc', method: :get %> 
<%= link_to 'Sort desc', order: 'created_at desc', method: :get%> 

然後在你的items_controller.rb,替換爲以下索引操作...

@items = Item.order(params[:order]) 

但是,你應該小心直接將參數傳遞給你的控制器是有風險的,把你的SQL注入的危險,你應該先清理它。任何方式這RailsCast會幫助你很多。

+0

提前致謝! – Gugubaight