在rails中重新加载页面后,某些功能无法正常工作

时间:2016-07-13 11:04:29

标签: javascript jquery ruby-on-rails reload

我有一个导航栏和侧边栏。在导航栏中,我有一个搜索框,侧边栏最小化按钮,配置文件的下拉框和注销。

在侧栏我有家,关于,订单,并与我们联系。

我的腐烂页面在家。加载根页面后,某些图像不会显示。单击侧栏中的主页链接后显示。下拉列表也会发生同样的事情,重新加载页面后也无法正常工作。我也在使用jquery插件。

//= require jquery  
//= require jquery_ujs  
//= require turbolinks  
//= require_tree .

请帮我解决我需要添加的代码来解决我的问题。我是铁路新手,谢谢 更新

<div class="table-responsive">
                            <table class="table table-actions-bar m-b-0">
                                <thead>
                                    <tr>
                                        <th></th>
                                        <th>product Name</th>
                                        <th>product status</th>
                                        <th style="min-width: 80px;">Manage</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <% i =0 %>
                                    <% @products.each do |products| %>
                                    <% if i == 0 %>
                                    <tr>
                                        <td><span data-plugin="peity-bar" data-colors="#5fbeaa,#5fbeaa" data-width="80" data-height="30">5,3,9,6,5,9,7,3,5,2</span></td>
                                        <td><img src="assets/products/iphone.jpg" class="thumb-sm pull-left m-r-10" alt=""> <%= product['productname'] %> </td>
                                        <% if product['status'] != "buy" %>
                                        <td><span class="text-custom"><%= product['status'] %></span></td>
                                        <% else %>
                                        <td><span class="text-danger"><%= produt['status'] %></span></td>
                                        <% end %>
                                        <td>
                                          <a href="#" class="table-action-btn"><i class="md md-edit"></i></a>
                                          <a href="#" class="table-action-btn"><i class="md md-close"></i></a>
                                      </td>
                                  </tr>  

这是根据数据的图表。

2 个答案:

答案 0 :(得分:1)

这很有可能发生,因为您还没有在$(document).ready调用中包装js脚本。您可以将turbolinks添加回application.js文件,然后将所有js脚本包装在一个页面中:加载调用,如下所示:

var ready;
ready = function() {

  ...your javascript goes here...

};

$(document).ready(ready);
$(document).on('page:load', ready);

页面:当由于turbolinks而仅提取部分应用时,会触发加载。

如果你有 RAILS 5 ,你可以这样做:

$(document).on('turbolinks:load', function() {

  ...your javascript goes here...

});

答案 1 :(得分:0)

您是否尝试过首先使用jquery.turbolinks gem?

jQuery-turbolinks

它专为Turbolinks 3或更低版本量身定制,但您可以下载Turb​​olinks 5垫片,如果您已经跳转到5,请将其放入您的垫片中。

Turbolinks compatibility shim