2

Rails 4 アプリ用に印刷専用のテンプレートとスタイルシートを作成しました。私のローカル環境ではすべてがうまく機能しますが、本番環境 (Heroku) では、ビューでスタイルシートが見つかりません。を試してみrake assets:precompileましたが、それも役に立たないようです。また、可能であれば、このスタイルシートを他のすべてのビューから除外したいと考えています。何か案は?

私の購入リクエストコントローラーで

def print
    @purchase_request = PurchaseRequest.find(params[:id])
    render :layout => "print" 
end

/views/purchase_requests/print.html.erb

<p>
  Purchase Request
</p>
<table>
  # I have omitted the table data in the interest of brevity
</table>

/views/layouts/print.html.erb

<!DOCTYPE html>
<html>
<head>
  <title>Depot</title>
  <%= stylesheet_link_tag "print", media: :all %>
</head
<body>
<div id="wrapper">
<%= yield %>
</div>
</body>
</html>

/assets/stylesheets/print.css.scss (実際には必要ありませんが、完全性のために)

table {
    border: 2px solid #000;
    width: 100%;
    border-collapse: collapse;

    td {
        border-top: 2px solid #000;
        padding: .5em;
    }

    td.key, td.signature_key {
        border-right: 2px solid #000;
        font-weight: bold;
    }

    td.signature_key, td.signature_blank {
        padding: 2em;
    }
}
p {
    width: 100%;
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
}
4

1 に答える 1

3

Rails 4 の Heroku ガイドラインに従っていることを確認してください。

gem 'rails_12factor', group: :productionGemfileに追加する場合にのみ、アセットをプリコンパイルします。

アップデート

環境/ production.rbファイルにもprint.css を含める必要があります。

config.assets.precompile += %w( print.css)
于 2013-10-11T21:43:25.140 に答える