简体   繁体   English

带有javascript的Ruby Flash消息不会出现

[英]Ruby flash messages with javascript won't appear

I'm trying to use my flash messages with some javascript functionality, but I'm having trouble with displaying the messages upon user sign-in and sign out. 我正在尝试将Flash消息与某些javascript功能一起使用,但是在用户登录和注销时无法显示消息。 What might the problem be? 可能是什么问题?

This is in the application.html.erb of my rails app. 这是在我的rails应用程序的application.html.erb中。

<!-- Flash Messages -->
<% if flash[:notice] %>
  <script type='text/javascript'>
    Messenger().post({
      message: flash[:notice],
    })
    </script>
<% elsif flash[:error] %>
  <script type='text/javascript'>
    Messenger().post({
      message: flash[:error],
    })
  </script>
<% else %>
<% end %>
<% if flash[:alert] %>
  <p class="alert alert-danger"><%= flash[:alert] %></p>
<% end %>
<!-- /Flash Messages -->

I'm using javascript files in my assets folder. 我在资产文件夹中使用了javascript文件。 Hopefully when this is all done the messages will appear on the bottom right instead of the default top of the page. 希望完成这些操作后,消息将显示在右下角,而不是页面的默认顶部。

You need to enclose between <%= and %> both flash[:notice] and flash[:error] messages: 您需要在<%=%>同时包含flash[:notice]flash[:error]消息:

<% if flash[:notice] %>
  <script type='text/javascript'>
    Messenger().post({
      message: <%= flash[:notice] %>
    })
  </script>
<% elsif flash[:error] %>
  <script type='text/javascript'>
    Messenger().post({
      message: <%= flash[:error] %>
    })
  </script>
<% else %>
<% end %>
<% if flash[:alert] %>
  <p class="alert alert-danger"><%= flash[:alert] %></p>
<% end %>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM