我正在使用控制器状态:
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 %>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。