2013-01-07 58 views
0

紅寶石循環變量在我的控制我整理我的圖片數據庫的方式有兩種:更改使用JavaScript

​​

在我看來,我躺在出來:

<% @picslist.each do |pic| %> 
    PICS IN HERE 
<% end %> 

我想改變在@picslist變量@picslist2通過一段JavaScript單擊事件,像這樣:

$("#sortbyprice").click(function(event) { 

    //replace @picslist with @picslist2 

}); 

這是正確的做法嗎?無論哪種方式,我會很感激,如果你能推薦一個優雅的方式做到這一點!

非常感謝提前。

+4

當你使用JavaScript的最佳途徑,你改變HTML。 Ruby代碼已被解釋。 – apneadiving

回答

0

感謝您的幫助......其實,我發現這樣做是由本質上只是對結果排序,詳細的here

0

製作兩個對象@picslist和@ picslist2不是個好主意。 當javascript事件發生時傳遞sort_by params。

def index 
    @picslist = Pic.order("#{params[:sort_by]} DESC") 
end 

其中PARAMS [:sort_by]將 「created_at」 或 「價格」

類似的東西和使用AJAX或形式提交更新頁面。

+0

非常感謝......我實際上發現我完全錯了,只是需要添加排序參數。在下面回答。 –

+0

也使用'「#{params [:sort_by]} DESC」'可能不是一個好主意,由於sql注入,你可以使用一個輔助方法來消除 –