2015-03-30 3 views
0

Я хотел запрашивать данные, используя между пунктом как этотКак запрашивать данные с помощью рельсов?

select * from timerecords where empid=? and date between ? and ? 

Я просто должны это сделать в рельсах. У меня есть этот код, и я хочу, чтобы программа отображалась в json-формате, перенаправляя на localhost/timerecords.

def showtimerecords 
    empid=params[:empid] 
    startdate=params[:date] 
    enddate =params[:date] 

    render json: @timerecords=Timerecords.where(empid: empid, 
           :date => startdate..enddate) 
    #redirect_to @timerecords 
    end 

Когда я печатаю http://localhost:3000/timerecords/showtimerecords/empid=2&startdate=2015-03-26&enddate=2015-03-27

Он говорит,

(No route matches [GET] "/timerecords/showtimerecords/empid=2&startdate=2015-03-26&enddate=2015-03-27") 

Вот мой конфиг/route.rb код

Rails.application.routes.draw do 
get 'timerecords/showtimerecords' 
get 'timerecords/index' 
get 'employees/index' 
get 'employees/show' 
get 'employees/new' 
get 'welcome/index' 
root :to => 'employees#new' 
resources :timerecords, :employees 
post 'employees/update_info' 
post 'timerecords/update_time' 
end 
+0

Пожалуйста, добавьте * конфиг/routes.rb * –

+0

Вы можете разместить ссылку, которую вы используете здесь – RSB

ответ

3

Вы набираете это неправильно, он должен выглядеть это, параметры должны начинаться с ?, попробуйте использовать следующую ссылку

http://localhost:3000/timerecords/showtimerecords?empid=2&startdate=2015-03-26&enddate=2015-03-27 

Кроме того, вы отправляете startdate и enddate параметры, но вы обращаетесь с помощью date, изменять свой код, как указано ниже

def showtimerecords 
    empid=params[:empid] 
    startdate=params[:startdate].to_date 
    enddate =params[:enddate].to_date 

    @timerecords = Timerecords.where(empid: empid, 
           :date => startdate..enddate) 

    render json: @timerecords 
    redirect_to 'timerecords/index' 
end 
+0

, когда я набираю текст, он говорит о неправильном количестве аргументов – MAC

+0

Можете ли вы опубликовать ошибку, которую вы получаете? – RSB

+0

вот новая ошибка ... неопределенный метод 'Timerecords' для ноля: NilClass приложения/контроллеры/timerecords_controller.rb: 16: в' showtimerecords' # 16 код этот делает JSON: @ timerecords.Timerecords.where (EmpId : empid, : date => startdate..enddate) – MAC

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