Datetime 如何从Rails中的数据库添加时间?

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”的模型的

我是rails的新手,正在尝试向数据库中的datetime添加一定量的时间。时间和时间单位都从数据库返回

所以数据是

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)