0

我跟隨Ryan Bates對可排序表列的railscast,併成功地獲得了一個列來升序和降序排序。Railscasts#228 - 可排序表列

我的表格比Railscast更復雜,因爲我有來自不同表格的列。

# controller 
@cars = Car.find(:all).order(sort_column + " " + sort_direction).includes(:manufacturers) 


#view 
<%= sortable "age" %> 

如何爲相關表格(如製造商)添加可排序列?

回答

3

我有一個類似的問題。得到它固定的東西,如:

<%= sortable "manufacturers.name", "Manufacturer name" %> 
<%= sortable "cars.age", "Age" %> 

在application_controller排序函數應該是這樣的:

def sort_column 
    ['manufacturers.name', 'cars.age'].include?(params[:sort]) ? params[:sort] : 'cars.age' 
end 
+0

嗨克里斯蒂安,這不是遺憾的是工作。它可以在同一張表中工作,但不會使用上面的代碼在其他列上排序。你確定這個確切的代碼工作? – sscirrus 2010-10-18 11:11:06

+0

我已經給出了答案的更多細節。它現在工作嗎? – 2010-10-25 13:14:55

+0

嗨基督教,我玩了30分鐘,並開始讓它工作 - 我需要一些控制器,並查看調整來獲取它。這是最後的挑戰:我的一個可排序的領域是一種稱爲「效率」的汽車的等級方法,該方法是基於兩個汽車的其他領域(將一個領域彼此分開)的計算。它沒有找到cars.efficiency :) – sscirrus 2010-10-28 09:59:26