首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用引导程序和简单表单时,Flash消息传递的名称不正确

使用引导程序和简单表单时,Flash消息传递的名称不正确
EN

Stack Overflow用户
提问于 2012-08-27 07:36:56
回答 2查看 514关注 0票数 0

我不确定为什么会发生这种情况,但当我在rails应用程序中成功提交表单时,它会将一个错误的div类添加到我成功的flash消息中。我在我的flash消息中使用了这个代码:

代码语言:javascript
运行
复制
<% flash.each do |name, msg| %>
   <div class="alert alert-<%= name == :notice ? "success" : "error" %>">
      <a class="close" data-dismiss="alert">&#215;</a>
      <%= content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String) %>
   </div>
<% end %>

这正是Ryan Bates在rails的演员阵容中建议做的:

http://railscasts.com/episodes/329-more-on-twitter-bootstrap?view=asciicast

这段代码有什么问题?如果我简单地这样做,它工作得很好:

代码语言:javascript
运行
复制
<% flash.each do |name, msg| %>
  <div class="alert alert-<%= name %>">
    <a class="close" data-dismiss="alert">&#215;</a>
    <%= content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String) %>
  </div>
<% end %>

但这似乎不是做这件事的正确方式。我不明白为什么铁路广播中建议的代码不能工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-27 12:50:44

在控制器中创建闪存消息时,您可以放入字符串'notice'而不是符号:notice。尝试在您的application.html.haml中添加这些行,看看您从flash消息中获得了什么

代码语言:javascript
运行
复制
- if Rails.env.development?
  = debug(params) 
  = debug(flash) unless flash.empty?
票数 0
EN

Stack Overflow用户

发布于 2012-08-27 12:29:41

据我所知,flash有时包含空元素。在迭代之前,检查flash中是否有内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12134762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档