我在我的rails 2項目中比較日期時遇到問題。在我的查詢之一,條件之一是這樣的:ActiveRecord :: StatementInvalid:PGError:錯誤:運算符不存在:timestamp without time zone> =整數
:conditions => ["bills.created_at >= #{beginning.to_s.delete("-")} AND bills.created_at <= #{ending.to_s.delete("-")}"]
我分別將它傳遞"2013-10-16"
和"2013-12-15"
爲beginning
和ending
。這工作在我的舞臺環境,但在我的生產環境中被破壞:
ActiveRecord::StatementInvalid: PGError: ERROR: operator does not exist: timestamp without time zone >= integer
LINE 1: SELECT * FROM "bills" WHERE (created_at >= 20131016)
我該如何解決這個問題?我看到這個heroku Postgres error - operator does not exist timestamp without timezone = integer但它沒有幫助。
對不起,我沒有提到我使用導軌2.你有一個導軌2的答案? – Edmund
我更新了答案。我希望語法是正確的,Rails 2離我的日常工作太遠了。隨意修改相應的代碼,並儘快升級Rails。 –
謝謝!固定它的關鍵變化是通過條件而不是字符串插值。不知道爲什麼 – Edmund