0

我目前有一个通过 API 调用发出请求并返回数据的应用程序。我创建了两个日期方法(请求使用这些日期作为参数),所以它总是调用上周的数据:

def self.monday
  d = Date.today
  seven_days_ago = (d - 7)
  seven_days_ago.beginning_of_week
end


def self.sunday
  d = Date.today
  seven_days_ago = (d - 7)
  seven_days_ago.end_of_week
end

我想使用这些周一和周日方法作为应用程序的默认值,但是如果用户在表单中输入日期,这些方法将被输入的值覆盖。这些输入的值应该在用户浏览站点时保留,直到有新的会话,或者清除这些值(从而将方法发送回它们的默认值)。

我将如何创建一个不将日期保存到数据库的表单,而只是覆盖上述两种方法中的默认日期?那么这些日期应该保持有效,直到他们清除该表格,或者他们开始​​一个新的会话?

4

1 回答 1

0
def self.monday(options = {})
  if options[:date]
    return Date.parse(options[:date])
  else
    d = Date.today
    seven_days_ago = (d - 7)
    return seven_days_ago.beginning_of_week
end

将使用默认日期

whatever.monday()

将使用特定日期

whatever.monday(:date => '2013-07-01')
于 2013-07-01T21:41:34.270 回答