Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript和Rails,使用Bootbox显示警报对话框_Javascript_Ruby On Rails 4_Bootbox - Fatal编程技术网

使用Javascript和Rails,使用Bootbox显示警报对话框

使用Javascript和Rails,使用Bootbox显示警报对话框,javascript,ruby-on-rails-4,bootbox,Javascript,Ruby On Rails 4,Bootbox,我是Rails新手,一直在尝试在成功登录网站时显示成功消息。我一直在尝试使用bootbox.js来显示登录成功后存储在ruby哈希中的消息——不幸的是,我甚至比Javascript更新,当我成功登录时,我无法显示任何bootbox内容。下面的代码显示了我要显示消息的位置 <div class="sidebar pull-left"> <!-- sidebar --> <div class="col-xs-6 col-sm-3 sidebar-offcanva

我是Rails新手,一直在尝试在成功登录网站时显示成功消息。我一直在尝试使用bootbox.js来显示登录成功后存储在ruby哈希中的消息——不幸的是,我甚至比Javascript更新,当我成功登录时,我无法显示任何bootbox内容。下面的代码显示了我要显示消息的位置

<div class="sidebar pull-left">
  <!-- sidebar -->
  <div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">
    <div class="list-group">
      <span class="fa-stack fa-lg">
      <i class="fa fa-square-o fa-stack-2x"></i>
      <%= link_to '', root_path, class: "fa fa-home fa-fw fa-stack-1x" %>
      </span>
      <span class="fa-stack fa-lg">
      <i class="fa fa-square-o fa-stack-2x"></i>
      <%= link_to '', help_path, class: "fa fa-question fa-fw fa-stack-1x" %>
      </span>  
    </div>
  </div>
</div>
<div class="main-content">
  <%= content_tag :div, class: "flash_messages", data: {flash: flash} do %>
  <% end %>

  <% content_for :alert do %>
    <script type="text/javascript">
      <%= render 'users/show_flash_messages.js' %>
    </script>
  <% end %>

  <% flash.each do |key, value| %>
    <%= yield :alert %>
  <% end %>  
  <%= yield %>
</div>
然后,我在users.js.coffee中创建了一个方法,希望通过从js数组中获取所需信息,使用bootbox alert对话框显示警报:

Messages = flashMessage: (flash) ->
flash_message = flash[1]
bootbox.alert flash_message
return
我用javascript写了这篇文章,然后用一个转换器将它转换成coffeescript(应该这样做吗?)。然后我有一个名为_show_flash_messages.js.erb的rails javascript文件,我在其中调用flashMessage函数

$(function() {
    messages = $('.flash_messages').data('flash');
    Messages.flashMessage(messages);
});
我已经能够在引导警报中显示信息,但是我更喜欢使用这些引导对话框来显示信息。就像我说的,我是Rails新手,这是我第一次尝试正确集成javascript,所以我可能遗漏了一些明显的东西

作为参考,这是该页面的HTML,该对话框有望显示在以下页面的顶部:

<% provide(:title, @user.name) %>
<div class="center hero-unit">
    <div class="user-profile">
      <span class="user-header">
        <%= gravatar_for @user %>
        <h2>
            <%= @user.name %>
        </h2>
      </span>
      <span id="page-content">
        <p>
            This is where a short biography will go.
        </p>
      </span>
    </div>
</div>


这就是一本短篇传记的发展方向。

<% provide(:title, @user.name) %>
<div class="center hero-unit">
    <div class="user-profile">
      <span class="user-header">
        <%= gravatar_for @user %>
        <h2>
            <%= @user.name %>
        </h2>
      </span>
      <span id="page-content">
        <p>
            This is where a short biography will go.
        </p>
      </span>
    </div>
</div>