2012-07-29 34 views
0

我真的很新,但我想知道。Ruby on Rails - 訪問活動記錄列的最佳做法是什麼

在進行查詢時,在rails中訪問模型列名的最佳做法是什麼?

就像我想要在DESCENDING命令中按「title」列進行排序。我將如何做(最佳實踐)?

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

MyModel.order("title DESC").all 

還是別的什麼?

從我的使用硬編碼字符串的經驗總是證明這樣的事情是錯誤的方法,主要是因爲代碼變得不可能重構。

在我的IDE(我正在使用RubyMine)它顯示了一個很好的代碼完成的柱面符號,所以我猜測會更容易跟蹤這種使用方式?

謝謝。

回答

1

在我看來MyModel.order("title DESC").all是更好的選擇。其他選擇的可讀性和複雜性很差。雖然表現可能不是一個考慮因素,但其他選擇在這一部分中也得分不佳。

除此之外,您不應該使用IDE智能感知功能編寫代碼 - 您的代碼應該在所有IDE中可導航並可讀。我使用Vim,它完成了字符串,因爲它完成了符號,所以在這裏沒有任何區別。

編輯:

如果您的訂單是ASC那麼你可以使用MyModel.order(:title).all這肯定比MyModel.order("title").all

+0

我跟你說「標題DESC」的做法是更好地在這裏完全同意更好,但我真的不像他們一樣。我正在尋找不同的東西。在那兒?還是應該「標題DESC」應該足夠? – DArkO 2012-07-29 07:38:23

+1

我認爲在這裏「title DESC」就足夠了。如果您想通過ASC訂單訂購,我編輯了我的答案和替代方案。 – 2012-07-29 07:45:39

相關問題