2016-12-26 43 views
1

我正在使用Rails 5和jquery-datatables-rails(3.4.0,latest)gem。rails DataTables CSS无法应用于生产模式

表格上的CSS在开发模式下呈现良好。我可以通过CSS走,看到它很好地形成,如:

http://localhost:3000/assets/dataTables/jquery.dataTables.self-MD5.css?body=1

然而,在生产模式下,没有任何造型应用。 CSS全部得到“预编译”或进入: http://my.ip/assets/application-MD5.css

Chrome可以加载远程应用程序-.css文件。我验证了两种CSS类都出现在开发模式assets/dataTables/jquery.dataTables中。 .css AND生产模式资产/应用程序* .css。像,

/* line 265, /Users/rb/.rvm/gems/[email protected]/gems/jquery-datatables-rails-3.4.0/app/assets/stylesheets/dataTables/jquery.dataTables.scss */ 
table.dataTable, 
table.dataTable th, 
table.dataTable td { 
    -webkit-box-sizing: content-box; 
    -moz-box-sizing: content-box; 
    box-sizing: content-box; 
} 

我在生产应用程序* .css中找到了相应的'table.dataTable td',它看起来正确!

但Chrome和Firefox拒绝呈现它们。我究竟做错了什么?这是在app /资产/样式表/ application.css:

*= require_tree . 
*= require dataTables/jquery.dataTables 
*= require jquery-ui 
*= require_self 

,这是在生产模式下的渲染head标签:

<link rel="stylesheet" media="all" href="/assets/application-MD5.css" data-turbolinks-track="reload" /> 
+0

它的外观在开发模式与Chrome检查:http://imgur.com/a/4uoaq 它的外观在PROD模式,没有CSS样式:http://imgur.com/a/s9p54 我只是想升级的jQuery UI的护栏到6.0.1,它没有影响。 –

+0

一个非常贫民窟的解决方案,我这样做的工作,但我不喜欢,这包括在布局/ application.html.erb:<链接相对=“样式”媒体=“所有的” href =“https://cdn.datatables.net/ 1.10.13/CSS/jquery.dataTables.min.css” /> –

回答

0

方案终于工作:

  1. 创建一个扔掉的新项目,新的轨道fakeProject

  2. 复制所有耙资产pipelin Ë设置了fakeProject /配置/环境/ production.rb到我的项目的config /环境/ production.rb

  3. 推的Git,部署与Capistrano的

  4. 铬清除缓存,重新启动美洲狮,见CSS造型,利润$$$

不幸的是我用于rails资产管道的设置之一是杀了我。我从来没有想过哪一个只是把它们烧了。