0

我对rails真的很陌生,但我想知道。

在进行查询时访问 Rails 中的模型列名称的最佳做法是什么?

就像我想按 DESCENDING 顺序按名为“title”的列进行排序。我该怎么做(最佳实践)?

MyModel.order(:title.to_s.concat " DESC").all 

MyModel.order("title DESC").all

或者是其他东西?

根据我使用硬编码字符串的经验,在诸如此类的问题上总是证明是错误的方法,主要是因为代码变得无法重构。

在我的 IDE(我正在使用 RubyMine)中,它为列符号显示了一个很好的代码完成,所以我猜这样跟踪使用会更容易吗?

谢谢。

4

1 回答 1

1

在我看来MyModel.order("title DESC").all,这里是更好的选择。另一种选择的可读性和复杂性很差。尽管性能可能不是考虑因素,但其他选择在本节中的得分也很差。

除此之外,你永远不应该通过你的 IDE 智能感知能力来编写代码——你的代码应该在所有 IDE 中都是可导航和可读的。我使用 Vim,它完成字符串和完成符号一样好,所以这里没有区别。

编辑:

如果您的订单是 ASC,那么您可以使用MyModel.order(:title).all绝对比MyModel.order("title").all

于 2012-07-29T07:23:22.680 回答