Ruby on rails 在Heroku上仅打印样式表

Ruby on rails 在Heroku上仅打印样式表,ruby-on-rails,heroku,asset-pipeline,Ruby On Rails,Heroku,Asset Pipeline,我为Rails 4应用程序创建了一个只打印的模板和样式表。在我的本地环境中,一切都很好,但是在生产环境中(在Heroku上),视图找不到样式表。我试过rakeassets:precompile,但这似乎也没有帮助。另外,如果可能的话,我想从所有其他视图中排除这个样式表。有什么想法吗 在我的采购申请控制器中 def print @purchase_request = PurchaseRequest.find(params[:id]) render :layout => "pr

我为Rails 4应用程序创建了一个只打印的模板和样式表。在我的本地环境中,一切都很好,但是在生产环境中(在Heroku上),视图找不到样式表。我试过
rakeassets:precompile
,但这似乎也没有帮助。另外,如果可能的话,我想从所有其他视图中排除这个样式表。有什么想法吗

在我的采购申请控制器中

def print
    @purchase_request = PurchaseRequest.find(params[:id])
    render :layout => "print" 
end
/views/purchase\u requests/print.html.erb

<p>
  Purchase Request
</p>
<table>
  # I have omitted the table data in the interest of brevity
</table>
<!DOCTYPE html>
<html>
<head>
  <title>Depot</title>
  <%= stylesheet_link_tag "print", media: :all %>
</head
<body>
<div id="wrapper">
<%= yield %>
</div>
</body>
</html>

确保你已经遵守了规则

只有将
gem'rails\u 12factor',group::production
添加到gem文件中,它才会预编译资产

更新


您还需要将print.css包含到环境/production.rb文件中:

config.assets.precompile += %w( print.css)

是的,包括在内。资产在其他任何地方都可以正常工作-只有打印布局有问题。您还需要将print.css包括到您的environments/production.rb文件中:config.Assets.precompile+=%w(print.css)
config.assets.precompile += %w( print.css)