`
zy13
  • 浏览: 44579 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

rails中flash[:notice]的问题

阅读更多
我在action1中设置了flash[:notice]值,当点击一个链接跳到另外一个action2的时候,flash[:notice]还会显示,只有再次点击其它的链接,flash[:notice]才会消失。为什么跳出了action1,flash[:notice]还会存在呢?比较奇怪
其它的很多aciton中都会设置flash[:notice]的值,但是一旦跳出该action,flash[:notice]都会消失。
有谁碰到过类似的问题么?请教了
分享到:
评论
1 楼 zy13 2007-10-31  
我已经找到问题的解决方法了,用flash.now[:notice],希望遇到同样问题的朋友可以借鉴一下。下面是原因:
flash[:notice] is meant only for redirect action, because the message is only cleared after at the end of redirected view request. So if you don’t redirect the request, and you click on the next request, that message will still be displayed.

But sometimes, we just want to display custom error messages only for current request without the redirection (esp. for non-ActiveRecord error messages). So the option is to use flash.now[:notice]. It clears the flash message at the end of current request (without redirection)

相关推荐

    simple_flash:I18n在Rails中闪烁

    I18n在Rails中闪烁。 安装 将此行添加到您的应用程序的Gemfile中: gem "simple_flash", "~> 1.0" 然后执行: $ bundle 用法 SimpleFlash将两个辅助方法添加到您的控制器: redirect_to_with_success和redirect_...

    响应者:一组Rails响应者来耗尽您的应用程序

    安装将响应者gem添加到您的Gemfile中: gem "responders"更新软件包并运行安装生成器: $ bundle install$ rails g responders:install如果您包括此gem以在早期版本的Rails中支持响应者的向后兼容性,则只需包括gem...

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

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

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

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

    ember-flash-message:Ember.JS 模板的 Flash 消息

    一个简单的插件,允许您在下一个路由转换时显示消息,类似于 Rails 的flash[:notice] 。 这对于在以后的页面上显示一次性通知很有用。 用法 您应该在页面上包含 。 由于插件依赖于 Ember.js,因此您必须首先包含 ...

    Rails GUI Development with Ext JS 10-Jan-08 RUG-B.pdf

    flash[:notice] = 'Post was successfully created.' format.ext_json { render :update => { :page => redirect_to(posts_path) } } else format.ext_json { render :json => @post.errors.to_json, :status =>...

    Ruby rails 页面跳转(render和redirect_to)

    Ruby代码 代码如下:if @user.update_attributes(:password => params[:user][:password]) flash[:notice] = ‘密码修改完成’ redirect_to :action => ‘index’ else redirect_to :action => ‘change_pass’, :id ...

    crouton::bread: Rails 的上下文相关通知

    面包丁 Rails && XHR 的上下文相关通知。安装 gem install 'crouton'用法只需要在你的 javascript 和 css 中加入crouton : //= require crouton @import ' crouton ' ; 然后,在您的控制器中使用render_crouton方法...

    Railsgem用于添加Facebook身份验证功能以使用koala进.zip

    flash[:notice] = "成功通过Facebook登录!" else session[:omniauth] = request.env['omniauth.auth'].except('extra') redirect_to new_user_registration_url end end def failure redirect_to root_...

    使用devise+omniauth进行谷歌身份验证_Ruby_JavaScript_.zip

    set_flash_message(:notice, :success, kind: 'Google') if is_navigational_format? else session[:omniauth] = request.env['omniauth.auth'].except('extra') redirect_to new_user_registration_url end ...

    图书管理系统报告.pdf

    <p style="color:green"><%= flash[:notice] %> ``` 然后,在`index`视图中展示书籍列表,并提供编辑、删除等操作选项: ```erb # management_books/app/views/books/index.html.erb <h1>Listing books ...

    Ruby-OmniAuth利用Rack中间件的一个灵活认证系统

    redirect_to root_url, notice: 'Welcome!' rescue ActiveRecord::RecordInvalid flash.now[:error] = 'Invalid account details' render :new end ``` 这个例子中,`User.create_with_omniauth` 方法是应用自己...

Global site tag (gtag.js) - Google Analytics