是否有可能寫在哈希格式此線(:created_at)是否有可能與哈希/符號替換字符串(:created_at)
User.where("created_at > ?", Time.now - 1.month)
User.where("created_at >= ?", DateTime.parse('2012-10-31')
是否有可能寫在哈希格式此線(:created_at)是否有可能與哈希/符號替換字符串(:created_at)
User.where("created_at > ?", Time.now - 1.month)
User.where("created_at >= ?", DateTime.parse('2012-10-31')
我想離開meta_where/squeel,因爲它不再被支持。唯一可行的解決方案目前我看到的,這是挖成AREL:
User.where(User.arel_table[:created_at].gt(1.month.ago))
User.where(User.arel_table[:created_at].gteq(DateTime.parse('2012-10-31'))
你可以把你所有的查詢/範圍在一個單獨的類從模型和封裝很多冗長的,請看這裏:
你得到了很多的好處與此有關。你所有的範圍合併將會很好地工作,因爲arel會處理你的別名。
個人信息,我現在在Rails 3.0.20貧民區,因爲我嚴重依賴於與Rails 3.1+不兼容的meta_where。我正在慢慢地將所有meta_where替換爲arel。
我期待黑客/本地(導軌)解決方案,而不是爲寶石。你的回答也很有幫助。謝謝。 – Syed