Я реализую полнотекстовый поиск API для моих приложений для направляющих и до сих пор имел большой успех с Думающим Сфинксом.
Я теперь хочу реализовать поиск диапазона дат и продолжать получать "плохое значение для диапазона" ошибка.
Вот отрывок кода контроллера, и я немного застреваю на том, что сделать затем.
@search_options = { :page => params[:page], :per_page => params[:per_page]||50 }
unless params[:since].blank?
# make sure date is in specified format - YYYY-MM-DD
d = nil
begin
d = DateTime.strptime(params[:since], '%Y-%m-%d')
rescue
raise ArgumentError, "Value for since parameter is not a valid date - please use format YYYY-MM-DD"
end
@search_options.merge!(:with => {:post_date => d..Time.now.utc})
end
logger.info @search_options
@posts = Post.search(params[:q], @search_options)
Когда я взглянул на журнал, я вижу этот бит, который, кажется, подразумевает, что дата не была преобразована в тот же формат времени как Time.now.utc.
withpost_date2010-05-25T00:00:00+00:00..Tue Jun 01 17:45:13 UTC 2010
Какие-либо идеи? В основном я пытаюсь иметь передачу запроса API в "начиная с" даты для наблюдения всех сообщений после определенной даты. Я указываю, что дата должна быть в формате YYYY-MM-DD.
Спасибо за помощь. Chris
Править: Я просто изменился, параметры даты объединяют оператор с этим
@search_options.merge! (: с => {: post_date => d.to_date.. DateTime.now})
и теперь я получаю эту ошибку
неопределенный метод 'to_i' в течение вторника, 25 мая 2010:Date
Так, очевидно, существует что-то, все еще не устанавливают право...