看起来在Ruby中增强了Range方法,我使用的是v2.5.1并且它没有按预期工作。这在以前工作,但现在不起作用。
我有这行代码:
@events = Event.where(start: params[:start]..params[:ends])
开始和结束符号期待日期值。这是我的rails控制台中的日志。
Started GET "/events.json?start=2018-05-27&end=2018-07-08&_=1529068714340" for 127.0.0.1 at 2018-06-15 16:18:34 +0300
Processing by EventsController#index as JSON
Parameters: {"start"=>"2018-05-27", "end"=>"2018-07-08", "_"=>"1529068714340"}
但我在控制台中收到此错误 -
ArgumentError - bad value for range:
app/controllers/events_controller.rb:7:in `index'
请问,我怎样才能获得适当的射程?
以下是您想要查看的回购 - https://github.com/mayordwells/fullcalendar-rails-demo
答案 0 :(得分:2)
您正在寻找params[:ends]
的参数,但参数为"end"=>"2018-07-08"
。
ends
vs end
答案 1 :(得分:0)
您需要将字符串参数转换为Date对象
Date.parse(params[:start])..Date.parse(params[:ends])