Я бы добавил его в контроллер приложения:
before_filter :load_date
def load_date
@monday = (Time.now).at_beginning_of_week
end
Так что он будет доступен во всех ваших контроллерах и представлениях.Если вы хотите использовать его в своих моделях, то, вероятно, он вам понадобится в качестве некоторого параметра, например, для областей действия.Тогда ваш контроллер - это то место, где вы должны передать эту переменную модели:
@models = MyModel.before_date(@monday)
Я не думаю, что вам нужен только один экземпляр этой переменной для всего приложения.Инициализировать это довольно просто.Также это не хорошо, когда вы инициализируете его и не используете его.Мне трудно представить, что вам это нужно во всех ваших контроллерах и действиях.
Другой способ - вы можете определить класс:
class MyDate
def self.get_monday
Time.now.at_beginning_of_week
end
end
и вставить его в config/initializers
(вероятно, есть лучшее место, где его можно поставить).Затем вы можете получить к нему доступ из любого места в вашем приложении:
MyDate::get_monday