DataTables排序图标不会在没有缩小CSS的情况下显示

时间:2016-08-04 13:50:39

标签: jquery ruby-on-rails datatables

在我的应用中安装dataTables插件时,我发现了一些我觉得很奇怪的东西。我在rails 4.2上使用ruby。

如果我的资产中只有缩小的或仅缩小的js和css jquery.dataTables文件,则排序图标无法正确加载。
我得到RoutingError (No route matches [GET] "/images/sort_desc.png")。我已经看到其他人讨论过这个错误,但实际上还没有看到一个很好的解决方案。 如果我更改路径以检索jquery.dataTables.css内的图像或文件的最小版本,我仍然会得到相同的错误。错误消息中的路径不会更改!

奇怪的是,如果我使用min.css和常规js文件,排序图标会正确加载! 概括: jquery.dataTables.min.css& jquery.dataTables.js:工作

jquery.dataTables.css& jquery.dataTables.js:不工作

jquery.dataTables.min.css& jquery.dataTables.min.js:不工作

jquery.dataTables.css& jquery.dataTables.min.js:不工作

我将这些文件放在vendor/assets/stylesheets../javascripts../images中。 这是怎么回事?

1 个答案:

答案 0 :(得分:2)

我能够弄清楚这一点。您需要覆盖jquery.dataTables.css中使用的网址。我还在vendor / assets / stylesheets中创建了一个新的css文件,并输入以下内容:

table.dataTable thead .sorting {
  background-image: image-url("sort_both.png");
}
table.dataTable thead .sorting_asc {
  background-image: image-url("sort_asc.png");
}
table.dataTable thead .sorting_desc {
  background-image: image-url("sort_desc.png");
}
table.dataTable thead .sorting_asc_disabled {
  background-image: image-url("sort_asc_disabled.png");
}
table.dataTable thead .sorting_desc_disabled {
  background-image: image-url("sort_desc_disabled.png");
}

这可以假设您将图像放在供应商/资产/图像中,并且在导入数据表css后也导入css覆盖文件。