2013-05-01 47 views
2

我正在創建一個我想創建用於打印的樣式表的rails 3.2.x項目。我正在使用SASS和資產管道,並且我在默認加載的sass文件中的我需求行中添加了一個名爲print.css.scss的文件。在rails項目中使用@media進行打印的樣式表

我有一個課程內容,我將diplay設置爲無測試。如果我刪除了@media打印塊,那麼它在屏幕上工作,但仍然不在打印機中。

@media print { 
    .contents { 
     display: none; 
    } 
} 

我已經在Chrome & Firefox的測試打印,它就像在打印中,無法加載樣式表,還有什麼我需要配置?

回答

5

您應該創建一個像這樣的打印清單文件,並要求您的打印sass文件像這樣。

print.css

/* 
*= require print 
*/ 

然後在您的佈局:

<%= stylesheet_link_tag "print", media: 'print' %> 
+0

我有需要行已而不是爲印刷媒體的stylesheet_link_tag。謝謝 – map7 2013-05-01 23:50:38

+1

只有這兩個步驟,我得到一個錯誤 - 說:「將'Rails.application.config.assets.precompile + =%w(print.css)''添加到'config/initializers/assets.rb'並重新啓動服務器 - 甚至在此之後,rails多次包含'print.css',而media =「screen」。因此...不起作用 – mmcrae 2015-02-17 22:30:59

+0

@ mmcrae可能是因爲您需要在應用程序清單中打印。 – Arjan 2015-02-18 18:37:44