1

我正在向我的Rails應用程序添加搜索欄。它完美的找到文本,但我也想搜索我的「日期」字段,這是一個整數。我確信對此有一個簡單的答案,但是我在網上無處不在,無法弄清楚。我在本地運行MySQL,並且它工作正常,因爲數據庫正在將「日期」轉換爲字符串。當我推到Heroku時,它會中斷,因爲PG數據庫想要搜索整數。 這裏是我的代碼,它完美的作品在MySQL:在Heroku上搜索rails應用程序整數

def self.search(search) 
    if search 
    losearch = search.downcase 
    find(:all, :conditions => ['lower(description) LIKE ? OR lower(artist) LIKE ? OR  lower(album) LIKE ? OR lower(date) LIKE ?', "%#{search.downcase}%", "%#{search.downcase}%", "%#{search.downcase}%", "%#{search.downcase}%"], order: "created_at desc") 
    else 
    find(:all, order: "created_at desc") 
    end 
end  

我知道的日期應該是這樣的日期=,但我不太想出來的?

+0

您必須先決定您要允許用戶輸入的日期格式 –

+0

我的欄位僅標題爲「日期」。用戶輸入一年。例如,他們只會輸入「2011」。我想在搜索欄中搜索2011,並讓它返回2011年輸入的項目。它適用於MySQL,因爲2011年轉換爲字符串2011.儘管... –

+0

你嘗試'search.to_s.downcase'嗎?Heroku不喜歡那個。由於'2011'是以整數形式出現,因此首先轉換爲字符串,然後執行其餘的處理 –

回答

0

任何人都可以給你的唯一正確答案是你必須在開發中使用PostgreSQL,因爲你在生產中使用PostgreSQL。只要您的開發數據庫與您的生產數據庫非常不同,就會繼續遇到問題。如果您在Mac上開發,請嘗試安裝Postgres.app,只需點擊一下即可。將pg gem添加到您的Gemfile中,您應該全部設置好。

相關問題