2014-09-29 2 views
2

У меня возникли проблемы с флэш-сообщениями в Rails 4. Я делаю рельсы на один месяц, и когда я пытаюсь войти на страницу или попытаться выйти из системы, я не получаю любые флеш-сообщения? Может быть, это браузер?Flash-сообщения в Rails 4

Это код для флэш-сообщений в application.html.erb

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

Я на убунту 14, и я использую Firefox/Chrome

Tnx, Том

ответ

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

Значения равны. Он отображает рельсы.

1

Вы должны использовать <%= вместо <%

Первый из них будет рассматриваться Rails шаблонизатор, как рубин код, который будет выполнен и отправлен на выход, а второй один выполняется только.

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%>