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
【标题】"Announcements-1.1.0.zip" 提供了一个开源项目,它专注于在门户平台上集成一个反馈端口,以便用户能够便捷地提供他们的意见和建议。这个项目的版本号为1.1.0,暗示了它可能已经经过至少一次重要的功能改进...
标题中的"PFMS Announcements-crx插件"指的是一个用于浏览器的扩展程序,它专门设计来服务于PFMS(可能是Public Financial Management System,公共财政管理系统)的中学公告功能。CRX是Chrome扩展的文件格式,表明...
【PowerVM October Announcements Tech Talk】是一场IBM组织的技术讨论会,主要涵盖了关于PowerVM的一些新公告和技术更新。参与讨论的专家包括Craig Johnson(Power Systems软件负责人)、Bob Kovacs(虚拟化与开发...
其中,"Announcements"组件是Sakai中的一个重要部分,它允许教师和管理员发布通知,向学生传递课程更新、活动提醒和其他重要信息。在本文中,我们将深入探讨Sakai公告组件的工作流程,了解其背后的源码实现和相关...
Media Announcements字段表示媒体的声明信息,包括媒体的类型、编解码器信息等。这个字段是必选的,因为它可以帮助接收方确定媒体的类型和编解码器信息。 ### 8. rtpmap(可选) rtpmap字段表示RTP映射信息,包括...
### cdb_announcements 论坛公告信息表,存储了管理员发布的公告内容,便于用户及时获取重要通知。 ### cdb_attachments 附件信息表,记录了用户上传的附件详情,包括文件名、大小、上传时间等,便于管理和检索。 ...
官方版本,亲测可用
官方版本,亲测可用
**JHS Announcements-crx插件详解** JHS Announcements-crx是一款专为杰斐逊高中的学生和教职员工设计的浏览器扩展程序,旨在增强学校的公告系统,使其更加便捷和高效。这款插件主要面向美国英语用户,通过集成到...
"announcements-crx插件"是一款专为提升Ticketfly平台用户体验设计的浏览器扩展程序,主要服务于英语用户。这款插件的核心功能是自动化处理机票预订相关的公告文档,它能够从Ticketfly的后台页面智能抓取信息,并...
资源分类:Python库 所属语言:Python 资源全名:mezzanine_announcements-3.2.1-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
【CPMS Daily Announcements-crx插件】是一种用于英语(美国)环境的浏览器扩展程序,主要服务于位于格林伍德,印第安纳州的克拉克乐趣中学的学生、教师和家长,提供该校的日常公告信息。这个插件是学校与用户之间...