Ric*_*d_G 1 jquery ruby-on-rails datatables jquery-datatables
环境:Ruby 2.0.0,Rails 4.1,Windows 8.1,Devise,jquery-datatables-rails 1.12.2.我也在运行Acts-as-tenant,这是一个很棒的多租户宝石.
除了一个小问题,我有数据表gem并运行.从索引操作访问页面时,它没有格式化和工作.只有浏览器刷新才会启动,然后才能正常工作.由于它在刷新后起作用,在我看来宝石设置很好.
我尝试过多次修复.我最小化了页面,只显示了表格.我试过IE和Chrome.无论我是否已清除浏览器缓存和/或重新启动应用程序,都会发生这种情况.我检查了HTML以确保我没有看到任何问题.我检查了服务器日志,发现其中没有任何差异.我所做的一切似乎都没有改变.
以下是前后视图,显示访问页面的位置,然后刷新:
首次访问:

刷新后,一切正常:

索引操作是基本的,但请注意它的作用范围是Acts-as-tenant:
def index
@devices = Device.all
@roles = Role.all
end
Run Code Online (Sandbox Code Playgroud)
index.html.erb是:
<div class="row">
<%= render partial: 'index', layout: 'layouts/sf_label', locals: { title: 'List Devices' } %>
</div>
Run Code Online (Sandbox Code Playgroud)
部分_index.html.erb是:
<div class="span8">
<table id="datatable">
<thead>
<tr>
<th>Device</th>
<th>Created</th>
<th>Role</th>
</tr>
</thead>
<tbody>
<% @devices.each do |device| %>
<tr>
<td><%= link_to device.name, edit_device_path(device.id) %></td>
<td><%= device.created_at.to_date %></td>
<td><%= device.roles.first.name.titleize unless device.roles.first.nil? %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
在Gemfile中:
gem 'jquery-datatables-rails', github: 'rweng/jquery-datatables-rails'
gem 'jquery-ui-rails'
Run Code Online (Sandbox Code Playgroud)
在application.js中:
//= require dataTables/jquery.dataTables
//= require dataTables/jquery.dataTables.bootstrap
Run Code Online (Sandbox Code Playgroud)
在datatable.js.coffee中:
jQuery ->
$('#datatable').dataTable()
Run Code Online (Sandbox Code Playgroud)
在devices.js.coffee中:
$('.datatable').dataTable({
"sPaginationType": "bootstrap"
});
Run Code Online (Sandbox Code Playgroud)
在application.css.css中:
*= require dataTables/jquery.dataTables
*= require dataTables/jquery.dataTables.bootstrap
Run Code Online (Sandbox Code Playgroud)
在日志中,这两种方式都是相同的:
Rendered devices/_index.html.erb (253.2ms)
Rendered devices/index.html.erb within layouts/application (254.2ms)
Rendered layouts/_shim.html.erb (1.0ms)
CACHE (0.0ms) SELECT COUNT(*) FROM "roles" INNER JOIN "devices_roles" ON "roles"."id" = "devices_roles"."role_id" WHERE "devices_roles"."device_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["device_id", 51]]
Rendered layouts/_navigation_links.html.erb (3.0ms)
Rendered layouts/_navigation.html.erb (4.0ms)
Rendered layouts/_messages.html.erb (1.0ms)
Completed 200 OK in 290ms (Views: 248.2ms | ActiveRecord: 36.0ms)
Run Code Online (Sandbox Code Playgroud)
所有建议都赞赏......
neo*_*ode 11
尝试一次:
将turbolinks gem添加到gem文件>>
gem 'turbolinks'
gem 'jquery-turbolinks'
Run Code Online (Sandbox Code Playgroud)
并将以下内容添加到application.js文件中.
//= require jquery.turbolinks
//= require turbolinks
Run Code Online (Sandbox Code Playgroud)
捆绑并重新启动服务器.
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |