내 레일 앱에 검색 바를 추가하고 있습니다. 그것은 텍스트를 찾기 위해 완벽하게 작동하지만 정수인 "date"필드를 검색하려고합니다. 이것에 대한 간단한 대답이있을 것이라고 확신합니다. 그러나 나는 온라인 어디에서나 보았고 그것을 이해할 수는 없습니다. 나는 로컬에서 MySQL을 실행 중이며 데이터베이스가 "날짜"를 문자열로 변환하기 때문에 정상적으로 작동합니다. PG 데이타베이스가 정수를 찾고 싶어하기 때문에 Heroku에 가면 나옵니다. 나는 날짜가 날짜 같은 것을해야한다고 알고heroku의 정수에 대한 레일스 앱 검색
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
=하지만 꽤 그것을 파악하고 있지 않다 : 다음은 MySQL을 완벽하게 작동 내 코드입니다?.
사용자가 입력 할 수있는 날짜 형식을 먼저 결정해야합니다. –
내 필드의 제목은 "날짜"입니다. 사용자가 1 년을 입력합니다. 예를 들어, 그들은 단지 "2011"을 입력합니다. 검색 창에서 2011을 검색하고 2011 년 입력 한 항목을 반환하겠습니다. 그것은 2011 년이 문자열 2011로 변환되기 때문에 MySQL과 함께 작동합니다. Heroku does not like ... –
'search.to_s.downcase' 해봤습니까? '2011'가 정수로오고 있기 때문에 먼저 문자열로 변환 한 다음 나머지 처리를 수행합니다 –