2013-07-01 101 views
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 

我想用这些周一和周日方法为默认值应用,但如果用户在表单中输入日期,这些方法将被输入的值覆盖。这些输入的值应该保持为用户正在导航站点,直到有新的会话,或他们清除值(因此将方法发送回其默认值)。

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

回答

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') 
+0

我怎么能拿:最新信息的方法?我的表单要求两个日期:first_date和second_date。 :first_date将被连接到self.monday,并且:second_date将转到self.sunday。 – user2495205

相关问题