我目前正在使用sortable_column_headers插件通过各种不同的列对Rails 2.3应用程序中的数据表进行排序。这很好用,我可以在当前模型上对列进行排序,也可以在相关模型上轻松排序。
我的问题是,表中的一列是计算值(它是将一列与另一列相除的结果),现在我需要按此计算列数据进行排序。表格显示如下:
<td><%= market_cr(employee.salary_annual,employee.payscale.market_midpoint) %></td>
而market_cr是:
def market_cr(current_salary,market_mp)
number_to_percentage((current_salary/market_mp)*100, :precision => 1)
端
如何使这个专栏按照我对其他人的方式进行排序,例如:
<th><%= link_to 'Market CR', sort_param('listing', :model => Employee, :field => 'market_cr'), :id => 'market_cr' %></th>
谢谢!
答案 0 :(得分:-1)
我不熟悉sortable_column_headers,但似乎可以通过将market_cr方法从视图助手移动到员工模型来实现。这样的东西,但你可能需要在视图中再按一下它,使它看起来像一个百分比。如果您也在进行单元测试,这可能是更好的解决方案。
class Employee < ActiveRecord::Base
....
def market_cr
((salary_annual/payscale.market_midpoint)*100).round(1)
end
....
end