ruby-on-rails-3 – flash [:notice]不能与redirect_to一起使用

我正在使用控制器状态:

flash[:notice] = 'message'
  redirect_to(controller: 'item',action: 'list')

我不知道为什么通知没有出现.

我试过并检查了很多东西:

> flash.keep
> flash.keep [:notice] =’message’
> flash [:notice]可以正常渲染
> redirect_to(控制器:’item’,action:’list’,notice:’message’)
> flash.Now [:notice] =“Hello world”
> flash.Now [‘foo’] =“Hello world”,<%= flash ['foo']%>在视图中
>有一个<%= flash [:notice]%>在布局中

我在布局中添加了以下代码.当控制器方法具有相同名称的视图时,flash [:notice]正常工作.当我尝试到达另一个没有视图的控制器时,会出现问题.

<% if !flash[:notice].blank? %>
    <div class="notice">
        <%= flash[:notice] %>
    </div>
<% end %>

<% if !flash[:alert].blank? %>
    <div class="alert">
        <%= flash[:alert] %>
    </div>
<% end %>

有人可以帮忙吗?

信息:

> Ruby(2.0.0)
>导轨(3.2.13)

解决方法

Railsguide: http://guides.rubyonrails.org/action_controller_overview.html#the-flash

这应该完全正常:

flash[:notice] = "My message"
redirect_to root_url

要么:

redirect_to root_url,notice: "Hello world"

但是,您也可能忘记在视图中呈现通知.因此,您没有看到任何通知.

例如,您的视图中应该包含以下内容

<% if flash[:notice] %>
  <p class="notice"><%= flash[:notice] %></p>
<% end %>

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...