出于演示目的:说我在模块TodayDynamicDate
中加入了下面的模型Foo
:
# app/models/concerns/today_dynamic_date.rb
module TodayDynamicDate
extend ActiveSupport::Concern
def todays_date
Date.today
end
end
#app/models/foo.rb
class Foo < ApplicationRecord
include TodayDynamicDate
end
我想知道在#todays_date
方法中使用混合方法是否符合我的要求。
我希望方法#todays_date
动态返回方法运行的日期。我不希望它返回rails服务器启动的静态日期。
示例:
说我今天启动服务器Friday, July 1st, 2016
。以下是我希望今天返回的方法:
Foo.new.todays_date
=> Fri, 01, Jul 2016
服务器继续运行,现在是Tuesday, July 5th, 2016
。在应用程序中调用相同的方法,这是我期望它返回的内容:
# dynamically returning the date that the method was called
Foo.new.todays_date
=> Tues, 05, July 2016
我想确保不会返回此内容:
# returning a static date
Foo.new.todays_date
=> Fri, 01, Jul 2016
问题:我的实施会返回动态日期吗?如果它不会返回动态日期:我将如何使用混合方法todays_date
执行此操作?
答案 0 :(得分:2)
答案是肯定的。每次拨打Date.today
都会返回当前日期。
todays_date
不是一个类(你所指的是静态的)变量,它是一个方法。