`
CaiDeHen
  • 浏览: 95116 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

#103 Site Wide Announcements

阅读更多
Sometimes you need to display an administrative announcement to every page on the site and give the users the ability to hide the announcement. See how in this episode.
script/generate scaffold announcement message:text starts_at:datetime ends_at:datetime
script/generate controller javascripts

<!-- layouts/application.html.erb -->
<% unless current_announcements.empty? %>
<div id="announcement">
  <% for announcement in current_announcements %>
    <p><%=h announcement.message %></p>
  <% end %>
  <p><%= link_to_remote "Hide this message", :url => "/javascripts/hide_announcement.js" %></p>
</div>


# models/announcement.rb
def self.current_announcements(hide_time)
  with_scope :find => { :conditions => "starts_at <= now() AND ends_at >= now()" } do
    if hide_time.nil?
      find(:all)
    else
      find(:all, :conditions => ["updated_at > ? OR starts_at > ?", hide_time, hide_time])
    end
  end
end

# application_helper.rb
def current_announcements
  @current_announcements ||= Announcement.current_announcements(session[:announcement_hide_time])
end

# javascripts_controller.rb
def hide_announcement
  session[:announcement_hide_time] = Time.now
end

# hide_announcement.js.rjs
page[:announcement].hide

# routes.rb
map.connect ":controller/:action.:format"
分享到:
评论

相关推荐

    Conference Announcements.pdf

    Conference Announcements

    Announcements-1.1.0.zip

    【标题】"Announcements-1.1.0.zip" 提供了一个开源项目,它专注于在门户平台上集成一个反馈端口,以便用户能够便捷地提供他们的意见和建议。这个项目的版本号为1.1.0,暗示了它可能已经经过至少一次重要的功能改进...

    PFMS Announcements-crx插件

    标题中的"PFMS Announcements-crx插件"指的是一个用于浏览器的扩展程序,它专门设计来服务于PFMS(可能是Public Financial Management System,公共财政管理系统)的中学公告功能。CRX是Chrome扩展的文件格式,表明...

    PowerVM October Announcements Tech Talk

    【PowerVM October Announcements Tech Talk】是一场IBM组织的技术讨论会,主要涵盖了关于PowerVM的一些新公告和技术更新。参与讨论的专家包括Craig Johnson(Power Systems软件负责人)、Bob Kovacs(虚拟化与开发...

    sakai announcements 组件流程分析

    其中,"Announcements"组件是Sakai中的一个重要部分,它允许教师和管理员发布通知,向学生传递课程更新、活动提醒和其他重要信息。在本文中,我们将深入探讨Sakai公告组件的工作流程,了解其背后的源码实现和相关...

    SDP学习总结2.0(比较全的).doc

    Media Announcements字段表示媒体的声明信息,包括媒体的类型、编解码器信息等。这个字段是必选的,因为它可以帮助接收方确定媒体的类型和编解码器信息。 ### 8. rtpmap(可选) rtpmap字段表示RTP映射信息,包括...

    discuz数据字典

    ### cdb_announcements 论坛公告信息表,存储了管理员发布的公告内容,便于用户及时获取重要通知。 ### cdb_attachments 附件信息表,记录了用户上传的附件详情,包括文件名、大小、上传时间等,便于管理和检索。 ...

    announcements-1.1.0-sources.jar

    官方版本,亲测可用

    announcements-1.1.0-classes.jar

    官方版本,亲测可用

    JHS Announcements-crx插件

    **JHS Announcements-crx插件详解** JHS Announcements-crx是一款专为杰斐逊高中的学生和教职员工设计的浏览器扩展程序,旨在增强学校的公告系统,使其更加便捷和高效。这款插件主要面向美国英语用户,通过集成到...

    announcements-crx插件

    "announcements-crx插件"是一款专为提升Ticketfly平台用户体验设计的浏览器扩展程序,主要服务于英语用户。这款插件的核心功能是自动化处理机票预订相关的公告文档,它能够从Ticketfly的后台页面智能抓取信息,并...

    Python库 | mezzanine_announcements-3.2.1-py2.py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:mezzanine_announcements-3.2.1-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    announcements-2.0.0-m3-sources.jar

    官方版本,亲测可用

    announcements-2.0.0-m3-classes.jar

    官方版本,亲测可用

    announcements-2.0.0-m2-sources.jar

    官方版本,亲测可用

    announcements-2.0.0-m2-classes.jar

    官方版本,亲测可用

    announcements-2.0.0-m1-sources.jar

    官方版本,亲测可用

    announcements-2.0.0-m1-classes.jar

    官方版本,亲测可用

    CPMS Daily Announcements-crx插件

    【CPMS Daily Announcements-crx插件】是一种用于英语(美国)环境的浏览器扩展程序,主要服务于位于格林伍德,印第安纳州的克拉克乐趣中学的学生、教师和家长,提供该校的日常公告信息。这个插件是学校与用户之间...

Global site tag (gtag.js) - Google Analytics