【问题标题】:Railscasts #228 - Sortable Table ColumnsRailscasts #228 - 可排序的表列
【发布时间】:2011-04-23 07:31:27
【问题描述】:

我正在关注 Ryan Bates 在 Sortable Table Columns 上的 railscast,并且我已经成功获得了一个用于升序和降序排序的列。

我的表比 Railscast 中的更复杂,因为我有来自不同表的列。

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


#view
<%= sortable "age" %>

如何为制造商等相关表添加可排序的列?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 jquery-ui-sortable railscasts


    【解决方案1】:

    我遇到了类似的问题。用类似的东西修复它:

     <%= 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
    

    【讨论】:

    • 嗨,克里斯蒂安,很遗憾,它不起作用。它确实在同一个表中工作,但不使用上面的代码对其他列进行排序。你确定这个确切的代码有效吗?
    • 嗨,Christian,我玩了 30 分钟并开始让它工作 - 我需要一些控制器和视图调整来实现它。这是最后一个挑战:我的一个可排序字段是名为“效率”的汽车类方法,它是基于两个汽车的其他字段(将一个字段除以另一个字段)的计算。它没有找到 cars.efficiency :)
    • 您可能想尝试将“效率”存储在另一列中。这样会更快更简单。基本上一个前置过滤器设置该值。之后的排序应该很明显。
    • 非常感谢克里斯蒂安的所有帮助。祝你有美好的一天!
    • 我在使用 Mongodb 作为数据库时遇到了排序问题。 stackoverflow.com/questions/14090621/… 我想我可以在这里得到答案。因为问题在这里解决了。希望得到答案..
    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 2010-10-11
    相关资源
    最近更新 更多