2014-09-29 90 views
2

我在Rails 4中遇到了Flash消息问题。 我正在做一个月的Rails,当我尝试登录页面或尝试注销时,我没有任何Flash消息?它可能是浏览器吗?Rails 4中的Flash消息

这是在application.html.erb闪光灯消息

  <% flash.each do |name, msg| %> 
       <% content_tag(:div, msg, class: "alert alert-#{name}") %> 
      <% end %> 

我在Ubuntu 14的代码,我使用的是Firefox/Chrome的

TNX, 汤姆

回答

1
<%= content_tag(:div, msg, class: "alert alert-#{name}") %> 

平等很重要。它告诉轨道显示它。

1

您应该使用的<%=代替<%

第一个将通过Rails的模板引擎被视为将被执行并送往输出Ruby代码,而第二个才可以执行。

5

您使用的是错误的erb标签,这就是为什么content_tag没有显示出来。它应该是:

<%= content_tag(:div, msg, class: "alert alert-#{name}") %>

这不是说你有<%和我上面包括<%=的差异。

0
Try this code in application layout... 

<div id="wrapper"> 
<div id="page-wrapper"> 
<div class="row"> 
<div class="col-lg-12"> 
<% flash.each do |name, msg| %> 
<%= content_tag(:div, msg, :id=>"#{name}", :class `enter code here`=> "alert alert- info") %> 
<%end%> 
</div> 
    </div> 
    </div> 
    </div> 

<script type="text/javascript"> 
window.setTimeout(function() 
{ 
$("#notice").fadeTo(500, 0).slideUp(500, function() 
{ 
$(this).remove(); 
}); 
}, 5000); 
</script> 
<%= yield%>