jquery-datatables-rails 在 link_to 之后没有出现,但其他时候出现
jquery-datatables-rails not showing up after a link_to but does other times
我正在尝试让 rails 4.0 (ruby 2.2) 中的 Jquery-data-table 正常工作。它以一种奇怪的方式做到了。如果我转到组控制器中的索引视图(片段):
<%- model_class = Group -%>
<div class="page-header">
<h1><%=t '.title', :default => model_class.model_name.human.pluralize.titleize %></h1>
</div>
<!-- table class="table table-striped" id="groups" -->
<table class="display" id="groups">
<thead>
<tr>
<th><%= model_class.human_attribute_name(:id) %></th>
<th><%= model_class.human_attribute_name(:name) %></th>
<th><%= model_class.human_attribute_name(:address) %></th>
<th><%= model_class.human_attribute_name(:city) %></th>
<th><%= model_class.human_attribute_name(:phone) %></th>
etc..
我在 groups.js 文件
中有 jquery 数据 table 所需的 javascript
$(document).ready( function () {
$("#groups").DataTable({paging:true,
pagingType: 'full_numbers'
});
});
这有效,如果我转到 url:
`localhost:3000/组'
它有效,我看到数据 table,空的,或者有数据,无论数据库状态是什么,它都有效并且正在搜索。问题是如果我转到并创建一个新组...并保存它,它会显示,然后我单击返回转到索引,然后它显示 table 就好像没有 jquery-data-tables 在那里。标题看起来不同,没有分页,没有搜索,什么都没有。如果我单击上面的 url 并按回车键,它会再次正常加载。
同样的事情,如果我从我的主页转到组控制器而不在 url 框中输入它,而是使用 link_to 和 bootstrap3 按钮,如下所示:(从主页索引 html)
<%= link_to groups_path do %>
<button type="button" class="btn btn-default btn-lg">
<span class="glyphicon glyphicon-user" aria-hidden="true" ></span> Group
</button>
<% end %>
然后就可以了,它会将您带到组中并在 table 中显示所有数据,但它不是 jquery 数据 table。这让我发疯了,不知道为什么在 URL 栏中输入它并在显示表单 (groups_path) 上输入 link_to 或 'back' 时有效没有工作。
遇到了和你一样的问题,按照下面的步骤解决了。
将 "groups.js" 文件中的第一行更改为
$(document).on "page:change", ->
信息来自:
http://guides.rubyonrails.org/working_with_javascript_in_rails.html#page-change-events
您正在使用 rails 4,turbolink 的问题 add data-turbolinks false with your link to as:
<%= link_to 'Back', index_path, "data-turbolinks" => "false" %>
我正在尝试让 rails 4.0 (ruby 2.2) 中的 Jquery-data-table 正常工作。它以一种奇怪的方式做到了。如果我转到组控制器中的索引视图(片段):
<%- model_class = Group -%>
<div class="page-header">
<h1><%=t '.title', :default => model_class.model_name.human.pluralize.titleize %></h1>
</div>
<!-- table class="table table-striped" id="groups" -->
<table class="display" id="groups">
<thead>
<tr>
<th><%= model_class.human_attribute_name(:id) %></th>
<th><%= model_class.human_attribute_name(:name) %></th>
<th><%= model_class.human_attribute_name(:address) %></th>
<th><%= model_class.human_attribute_name(:city) %></th>
<th><%= model_class.human_attribute_name(:phone) %></th>
etc..
我在 groups.js 文件
中有 jquery 数据 table 所需的 javascript$(document).ready( function () {
$("#groups").DataTable({paging:true,
pagingType: 'full_numbers'
});
});
这有效,如果我转到 url: `localhost:3000/组'
它有效,我看到数据 table,空的,或者有数据,无论数据库状态是什么,它都有效并且正在搜索。问题是如果我转到并创建一个新组...并保存它,它会显示,然后我单击返回转到索引,然后它显示 table 就好像没有 jquery-data-tables 在那里。标题看起来不同,没有分页,没有搜索,什么都没有。如果我单击上面的 url 并按回车键,它会再次正常加载。
同样的事情,如果我从我的主页转到组控制器而不在 url 框中输入它,而是使用 link_to 和 bootstrap3 按钮,如下所示:(从主页索引 html)
<%= link_to groups_path do %>
<button type="button" class="btn btn-default btn-lg">
<span class="glyphicon glyphicon-user" aria-hidden="true" ></span> Group
</button>
<% end %>
然后就可以了,它会将您带到组中并在 table 中显示所有数据,但它不是 jquery 数据 table。这让我发疯了,不知道为什么在 URL 栏中输入它并在显示表单 (groups_path) 上输入 link_to 或 'back' 时有效没有工作。
遇到了和你一样的问题,按照下面的步骤解决了。
将 "groups.js" 文件中的第一行更改为
$(document).on "page:change", ->
信息来自: http://guides.rubyonrails.org/working_with_javascript_in_rails.html#page-change-events
您正在使用 rails 4,turbolink 的问题 add data-turbolinks false with your link to as:
<%= link_to 'Back', index_path, "data-turbolinks" => "false" %>