`
wudixiaotie
  • 浏览: 138266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Rails flash

阅读更多

flash是个hash用于在两个actions间传递临时数据,flash中存放的所有数据会在紧接着的下一个action调用后清除。
一般用于传递提示和错误消息。

class PostsController < ActionController::Base
  def create
    # save post
    flash[:notice] = "Post successfully created"
    redirect_to @post
  end

  def show
    # doesn't need to assign the flash notice to the template, that's done automatically
  end
end
show.html.erb
  <% if flash[:notice] %>
    <div class="notice"><%= flash[:notice] %></div>
  <% end %>

 flash[:alert],flash[:notice]一般与redirect_to一起用,而不能与render一起用。

redirect_to是重定向,会重新发起请求,比render多了一次请求。flash[:alert],flash[:notice]只会出现在接下面的一个页面中。
而render是服务器端转发,客户端不会重新发送请求,比redirect_to少了一次请求。所以一旦一起用,结果是接下来两个页面都有flash[:alert],flash[:notice],第三个页面时才会消失。
正确的做法是render搭配flash.now[:alert],flash.now[:notice]一起用

 

Flash 消息在一个请求的生命周期内是持续存在的,而重新渲染页面(使用 render 方法)和代码 7.28 中的转向不同,它不算新的请求,你会发现这个 Flash 消息存在的时间比设想的要长很多。例如,我们提交了不合法的登录信息,Flash 消息生成了,然后在登录页面中显示出来(如图 8.6),这时如果我们点击链接转到其他页面(例如“首页”),这只算是表单提交后的第一次请求,所以页面中还是会显示 Flash 消息(如图 8.7)。

分享到:
评论

相关推荐

    cacheable-flash, 获取处理页cacheing的Rails Flash 对象.zip

    cacheable-flash, 获取处理页cacheing的Rails Flash 对象 是一个新的希望这里 gem 不再被维护。 请考虑切换到 github.com/leonid-shevtsov/unobtrusive_flash 。这么长的时间,感谢你 ! CacheableFlash 描述这个...

    rails open_flash_chart

    "Rails Open Flash Chart" 是一个基于Ruby on Rails框架的库,用于在Web应用程序中生成交互式的Flash图表。这个库允许开发者轻松地创建各种统计图表,如折线图、柱状图、饼图等,以便更好地可视化数据。由于Flash在...

    Rails 集成Open Flash Charts

    标题 "Rails 集成Open Flash Charts" 涉及的是在Ruby on Rails框架中集成Open Flash Chart这一图表库的技术细节。Open Flash Chart是一个开源的Flash图表生成器,它允许开发者通过简单的API创建各种复杂的图表,包括...

    the rails way

    - **ActionScript**:引入了ActionScript 3.0的支持,增强了与Flash的集成。 - **Rake Tasks**:提供了更多的任务自动化工具,使开发者能够更高效地执行常见的开发任务。 - **I18n Support**:增强了国际化支持,...

    flash-message-conductor, 在 Ruby on Rails 应用程序中,用于管理 Flash 消息的简单 Pattern.zip

    flash-message-conductor, 在 Ruby on Rails 应用程序中,用于管理 Flash 消息的简单 Pattern Flash 消息导体用于在 Ruby on Rails 应用程序中管理 Flash 消息的简单 Pattern 。安装这个分支只用于 Rails 3 。 仍然...

    Ruby on Rails 初体验--北大青鸟教师专题讲座PPT

    在RoR中,数据库操作、测试框架、表单验证、session和flash管理、渲染和重定向机制、布局和局部模板、回调、观察者、过滤器以及强大的缓存机制等都得到了很好的支持,这些内置的功能极大地提升了开发者的生产力。...

    jruby_on_rails

    【jruby_on_rails.swf 文件】:虽然提供的文件名为 `jruby_on_rails.swf`,通常 SWF 文件是 Adobe Flash Player 支持的格式,用于展示交互式内容,如教程或演示。在这个上下文中,这个文件可能是关于 JRuby on Rails...

    rails框架1111111111

    "rails.swf"文件则可能是包含互动教学内容的Flash动画,这类文件通常用于演示、教程或交互式示例,帮助学习者直观理解Rails的工作原理和操作步骤。SWF是Adobe Flash Player支持的格式,虽然现在Flash已经逐渐被淘汰...

    flash动画柱状图

    FusionCharts free 是一个跨平台,跨浏览器的flash图表组件解决方案,能够被 ASP.NET, ASP, PHP, JSP, ColdFusion, Ruby on Rails, 简单 HTML页面甚至PPT调用。你不需要知道任何关于flash编程的知识,你只需要知道...

    ruby on rails学生选课系统

    同时,使用Flash消息来提示用户操作结果,通过Exception Handling机制来优雅地处理可能出现的异常情况。 测试是保证软件质量的关键环节。Rails提供了一套强大的测试工具,如RSpec用于行为驱动开发(BDD),...

    Ruby-WebsocketRailsrubyonrails的即插即用websocket支持

    4. **兼容性**:虽然WebSocket是一种现代的通信协议,但`Websocket-Rails`也考虑到了浏览器兼容性问题,通过使用HTTP长轮询或Flash Socket作为回退选项,确保旧版本浏览器也能正常工作。 5. **与Rails路由集成**:`...

    flash_messages_helper:一个简单且可配置的Rails视图帮助器,用于显示Flash消息

    在Ruby on Rails框架中,Flash消息是一个常见的特性,它允许开发者在用户操作后显示短暂的通知信息,这些信息在用户下一次请求时就会消失。Flash_messages_helper是一个方便的库,为Rails应用提供了一种灵活的方式来...

    flash 图形报表

    FusionCharts free 是一个跨平台,跨浏览器的flash图表组件解决方案,能够被 ASP.NET, ASP, PHP, JSP, ColdFusion, Ruby on Rails, 简单 HTML页面甚至PPT调用。你不需要知道任何关于flash编程的知识,你只需要知道...

    foundation_rails_helper:Zurb基金会的Rails Helper框架

    一个使用Zurb Foundation标注UI的display_flash_messages帮助程序方法。 安装 将此行添加到您的应用程序的Gemfile中: gem 'foundation-rails' , '~&gt; 6.0' # required gem 'foundation_rails_helper' , '~&gt; 3.0' ...

    django-flash:Django-Flash 是一个简单的 Django 扩展,它为类似 Rails 的 flash 消息提供支持

    Django-Flash Django-Flash 是一个简单的 Django 扩展,它为类似的flash消息提供支持。 flash是一种类似于 Python 字典的临时存储机制,因此您可以存储与键关联的值,然后再检索它们。 它有一个特殊的属性:默认...

    蓝图-Rails 6样板程序-Ruby开发

    蓝图可以在几分钟内创建Rails 6应用程序的样板。...目录内置功能安装发送电子邮件有组织的邮件文件夹自定义尾风Flash消息触发Flash消息手动Flash消息位置表单验证基本管理区域其他选项路线图内置功能Bluep

    ember_flash_message-rails:ryanto 的 ember-flash-message 的宝石化版本

    一个简单的插件,允许您在下一个路由转换时显示消息,类似于 Rails 的flash[:notice] 。 这对于在以后的页面上显示一次性通知很有用。 用法 包括 gem 'ember_flash_message-rails' 在您的 gemfile 中,然后还包括 ...

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    22.3 Flash——Action之间的通信 364 22.4 过滤器与校验 366 22.5 缓存初接触 372 22.6 GET请求的问题 378 第23章 Action View 381 23.1 模板 381 23.2 使用辅助方法 385 23.3 用于格式化、链接和分页的辅助方法 386...

Global site tag (gtag.js) - Google Analytics