我有一个模特
create_table "events", force: :cascade do |t|
t.string "title"
t.datetime "start"
t.datetime "end"
如何添加"持续时间值",以便"结束" ="开始+持续时间"?
答案 0 :(得分:1)
您不需要持续时间,只要您有初始日期和最终日期即可轻松计算持续时间。
您可以在模型中使用持续时间
memcmp
此外,您不应将def duration
end_time - start_time
end
用作字段名称,因为它是Ruby中的保留关键字,在某些情况下可能与解析器冲突。例如,您无法写
end
相反,如果要创建数据库列,则只需创建一个整数def duration
end - start
end
属性,并且可以使用活动记录回调来计算保存记录时的持续时间。
答案 1 :(得分:0)
确定。我将start
更改为start_time
;
从db中删除end
;
在db;
中创建duration:integer
模特中的:
def end_time
start_time + duration*60
end
start_time
,duration
,=>见end_time