2016-12-26 15 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資產管道的設置之一是殺了我。我從來沒有想過哪一個只是把它們燒了。