2015-02-12 3 views
0

В моем приложении я хочу выбрать диапазон дат с помощью jquery datepicker и извлечь записи этого диапазона дат и показать их в отчете. Я хочу, чтобы значения датпикера jquery передавались в запрос в моем контроллере.Как извлекать и показывать записи заданного диапазона дат в рельсах

Моя форма (dateFilter.html.erb) для значений DatePicker, как показано ниже:

<%= form_tag({:controller => 'expenses', :action => 'dateFilter'}, :class =>"datepicker") do %> 
<%= label_tag("Start Date") %> <br /> 
<%= text_field_tag(:start_date) %> 
<%= label_tag("End Date") %> <br /> 
<%= text_field_tag(:end_date) %> 
<%= submit_tag "Submit" %> 
<% end %> 

expenses_controller, как показано ниже:

def dateFilter 
    @expenses = current_user.expenses.where(:created_at => (params[:start_date]..params[:end_date])) 
end 

Здесь application.js:

$(document).ready(function() { 

    $("#start_date").datepicker(); 
    $("#end_date").datepicker(); 

}); 

Любая помощь будет высоко оценена.

+0

Какая ошибка вы получаете? –

ответ

0

Ваш код должен работать с двумя небольшими изменениями:

Изменить запрос, чтобы преобразовать Params датам:

where(:created_at => (params[:start_date].to_date .. params[:end_date].to_date)) 

И убедитесь, что вы настроили DatePicker использовать формат, который #to_date понимает , Например:

$(...).datepicker({dateFormat: "yy-mm-dd"}) 
+0

Спасибо, много это сработало :) :) – Sumy

Смежные вопросы