【问题标题】:Why is Rails generating incorrect SQL for an order by clause?为什么 Rails 会为 order by 子句生成不正确的 SQL?
【发布时间】:2014-04-21 19:46:19
【问题描述】:

为什么 Rails 3.2.14 会为这种关系生成不正确的 order by 子句?这是怎么回事?

2.0.0p247 :306 > u.cmets.order(created_at: :desc)

Refinery::Groups::Comment Load (0.3ms) SELECT refinery_groups_comments.* FROM refinery_groups_comments WHERE refinery_groups_comments.user_id = 56 ORDER BY '---\n:created_at: :desc\n '

【问题讨论】:

    标签: sql ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    在 Rails 3.2 及更早版本中,order 需要一个字符串:

    u.comments.order("created_at desc")
    

    order(created_at: :desc) 样式是在 4.0 中添加的。

    【讨论】:

    猜你喜欢
    • 2016-01-25
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    相关资源
    最近更新 更多