어제와 관련하여 질문을 던졌지 만 혼란스럽고 이해가되지 않아서 핵심 사안에 이르렀습니다.DateTime으로 ActiveRecord 검색 중
나는 entries
테이블을 가지고 있습니다. 새 레코드가 저장되면 entries_controller
은 date
열에 시간을 추가합니다.이 시간은 datetime으로 기록됩니다. new
방법에서, 나는 그래서 새로운 날짜 시간을 선언
@entry.date = DateTime.new(params[:year].to_i, params[:month].to_i, params[:day].to_i)
내가 다음 formtastic와 숨겨진 필드로 포함 : 항목이 데이터베이스에 저장되면
<%= f.input :date, :as => :hidden %>
, 날짜 필드 2011-02-10 00:00:00
처럼 보입니다. 지금까지 계획대로 모든 것이 작동하지만, date
필드에 대해 쿼리하여 해당 항목을 검색하려고하면 nil
이됩니다.
나는 시도했다 : 나는 심지어는 날짜 필드이기 때문에 이해가되지 않습니다 문자열로 검색을 시도한
search_date = DateTime.new(2011,2,10)
Entry.find_by_date(search_date)
=> nil
.
search_time = '2010-02-10 00:00:00'
Entry.find_by_date(search_date)
=> nil
여기서 내가 뭘 잘못하고 있니? 왜 날짜별로 레코드를 검색 할 수 없습니까?
아니요. 'Entry.where ("date = '# {search_date}'")'는 돌아 오지 않았습니다 – bjork24
이상한데, 제 자신의 응용 프로그램에서 테스트 해 보았는데 제대로 작동하는 것 같습니다. stacktrace를 인쇄 할 수 있습니까? – ferdyh