Rails,Ruby,计算日期和自动表单填充之间的天数

时间:2014-10-16 03:46:26

标签: ruby-on-rails ruby

这里对Rails有点新意,非常感谢所有的帮助!

我有一个表单,我让用户输入2个日期字段。我想计算这两个日期之间的天数。我该怎么做呢?我是否在控制器中创建一个新方法来计算它?

此外,在我计算这个数字后,我想要显示一个新表格x次(x =计算的天数)。关于如何做到这一点的任何方向都会很棒!提前谢谢!

1 个答案:

答案 0 :(得分:4)

您的表单很可能会发布以将数据保存在表示模型实例的数据库行中。因此,您可以使用模型方法(或者,因为有些人会认为模型应该只包含持久性逻辑,模型装饰器)来实现这一点。目前,最简单的方法是将其保留在模型中。

假设您的型号名称为Event。

然后,您可以在其上添加start_dateend_date字段。这些可能是datetime字段。

然后,您可以在模型中使用名为days_spread

的方法
def days_spread
  end_date.to_date - start_date.to_date
end

在这些日期时间上调用to_date将使该减法的结果产生若干天。您可能还需要在该返回值上调用to_i以获取整数。

然后你可以拨打days_spread.times do { |x| }

如果没有您的数据模型,很难给出更具体的答案,但这应该可以帮助您入门。