2

我使用自舉-SASS寶石和在生產我的導軌應用程序是一個子文件夾下部署,即根是http://www.example.com/sub/。一切正常,除了字體(特別是Glyphicons)的罰款:在CSS的路徑,字體是這樣的:導軌+自舉:字體路徑不包括基礎URI(生產)

url("/assets/bootstrap/glyphicons... 

當它應該是

url("/sub/assets/bootstrap/glyphicons... 

的CSS和JS資產都有正確的路徑,但字體不。我看了一會兒文件(和網絡的其餘部分)周圍,但無法找到如何改變這個 - 我一個小白,當談到資產管道的東西。

我知道了部署在Linux-Apache的乘客。

編輯:我要補充一點,我有這個在我的Apache網站的配置:

Alias /sub /path/to/rails/app/public 
<Location /sub> 
    PassengerBaseURI /sub 
    PassengerAppRoot /path/to/rails/app 
</Location> 
<Directory /path/to/rails/app/public> 
    Allow from all 
    Options -MultiViews 
</Directory> 

回答

3

這裏是配置選項,我需要在配置/ application.rb中:

config.action_controller.relative_url_root = '/sub' 

我猜想這是因爲預編譯的資產(如引導SASS)當阿帕奇/乘客指令不生效等等您需要讓預編譯器知道字體的位置。感謝您的幫助,wkaha和archie,以下是bootstrap-sass github上的ilnk提示:https://github.com/thomas-mcdonald/bootstrap-sass/issues/443

+0

嘿!這對我有效。我遇到了字體路徑的問題。 – mwangi

1

這是否幫助?

http://guides.rubyonrails.org/asset_pipeline.html

2.3.1 CSS和ERB

資產管道自動評估ERB。這意味着,如果你添加一個ERB擴展到CSS的資產(例如,application.css.erb),然後像asset_path助手在你的CSS規則可供選擇:

.class { background-image: url(<%= asset_path 'image.png' %>) } 
+0

不完全是,但是第5.4節討論了更改資產路徑。顯然,這發生在CSS和JS,但不是字體? – Peter

+0

使用path_to_font而不是asset_path作爲字體資產。 – chaostheory

0

這可能是原因。

Bootstrap-sass gem precompiles the glyphicons

config.assets.precompile < <%R(引導/ glyphicons,半身人,定期(?: EOT | SVG | TTF | WOFF)$)

建議的解決方法:

將4個圖形文件複製到您的資產管道中,並在您自己的生產或開發配置中進行預編譯。