如何获取特定的Flash通知,以便在Ruby on Rails中始终显示星期一?设置Rails闪光通知在星期几出现
0
A
回答
1
def ApplicationController < ActionController::Base
before_filter :show_message_if_today_is_monday
# rest of your ApplicationController code
private
def show_message_if_today_is_monday
flash[:notice] = "Your message here" if Time.now.monday?
end
end
+2
但'Time.now'将成为服务器时间,如果用户有4或5个小时的差异呢? – fmendez 2013-03-17 03:08:14
0
您可以在数据库中拥有一个多态到日期时间的通知模型。在这种模式下,你可以有四个字段,
source_type: date, time and/or date & time
source_trigger: value of the source type
notification_message: message that you want to display
notification_styling: css styling
在应用程序控制器,你可以打电话,可以决定是否在通知模型的记录应出现一个辅助方法。如果您需要在某个日期和时间显示星期二消息,12:00 PM消息或消息,则可以使用此方法。
在您的应用程序布局中,您可以调用此通知实例变量来显示消息通知。
检查是否是星期一,如果是,将其放入闪存?就像在系统范围的'before_filter'中一样?目前还不清楚您是否希望邮件只出现一次,在这种情况下,您需要跟踪每个(用户?)。 – 2013-03-17 02:10:16
如果当天是星期一,请始终显示它。 – alt 2013-03-17 02:11:08
你如何知道用户在什么时区? – 2013-03-17 02:18:24