2013-03-17 38 views
0

如何获取特定的Flash通知,以便在Ruby on Rails中始终显示星期一?设置Rails闪光通知在星期几出现

+0

检查是否是星期一,如果是,将其放入闪存?就像在系统范围的'before_filter'中一样?目前还不清楚您是否希望邮件只出现一次,在这种情况下,您需要跟踪每个(用户?)。 – 2013-03-17 02:10:16

+0

如果当天是星期一,请始终显示它。 – alt 2013-03-17 02:11:08

+1

你如何知道用户在什么时区? – 2013-03-17 02:18:24

回答

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消息或消息,则可以使用此方法。

在您的应用程序布局中,您可以调用此通知实例变量来显示消息通知。