Datetime 如何从Rails中的数据库添加时间?
我是rails的新手,正在尝试向数据库中的datetime添加一定量的时间。时间和时间单位都从数据库返回 所以数据是Datetime 如何从Rails中的数据库添加时间?,datetime,ruby-on-rails-4,Datetime,Ruby On Rails 4,我是rails的新手,正在尝试向数据库中的datetime添加一定量的时间。时间和时间单位都从数据库返回 所以数据是 start: 11/1/2015 10:45:00 duration: 75 unit: "minutes" 我想在开局前再加上75分钟。如果我已经知道它们,我知道我可以这样做,说开始+75.minutes,但是当持续时间和单位都是变量时,我该如何做呢?使用发送方法: start + duration.send(unit) 好的,那么开始和持续时间是名为“event”的模型的
start: 11/1/2015 10:45:00
duration: 75
unit: "minutes"
我想在开局前再加上75分钟。如果我已经知道它们,我知道我可以这样做,说开始+75.minutes,但是当持续时间和单位都是变量时,我该如何做呢?使用
发送方法:
start + duration.send(unit)
好的,那么开始和持续时间是名为“event”的模型的一部分-因此它实际上必须是:@event.start+@event.duration.send(@event.unit)-这行吗?假设您有@event
对象(例如,使用@event=event.find(params[:id])
获取)这就是我在控制台中得到的结果:NoMethodError:75的未定义方法'Minutes':FixnumIt的意思是unit
是“Minutes”
,而不是“Minutes”
。您可以使用downcase
-@event.start+@event.duration.send(@event.unit.downcase)