Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 资产管道未预编译所需文件_Ruby On Rails_Ruby On Rails 3.1_Asset Pipeline - Fatal编程技术网

Ruby on rails 资产管道未预编译所需文件

Ruby on rails 资产管道未预编译所需文件,ruby-on-rails,ruby-on-rails-3.1,asset-pipeline,Ruby On Rails,Ruby On Rails 3.1,Asset Pipeline,我最近在我的Rails 3.2应用程序中添加了一个CSS文件,我正在为资产管道而挣扎。 目前,它表示ActionView::Template::Error(pdf.css未预编译) 我已经在我的app/assets/stylesheets/application.css文件中添加了一个=require pdf 还需要什么 是否必须将pdf.css添加到config.assets.precompile 若然,原因为何?不应该要求处理它吗 我的应用程序.css: /* *= require_self

我最近在我的Rails 3.2应用程序中添加了一个CSS文件,我正在为资产管道而挣扎。 目前,它表示
ActionView::Template::Error(pdf.css未预编译)

我已经在我的
app/assets/stylesheets/application.css
文件中添加了一个
=require pdf

还需要什么

是否必须将
pdf.css
添加到
config.assets.precompile

若然,原因为何?
不应该要求
处理它吗

我的
应用程序.css

/*
*= require_self
*= require chosen
*= require pdf
*= require_tree ./screen
*/

尝试在application.css中编写(顺便说一句,它不应该是application.css.scss吗?)

这将编译所有样式表

也许你也可以试试:

rake assets:precompile

它将在您的公用文件夹中生成预编译的样式表(如果我是对的话…)。然后,您就可以知道您的文件是否包含在该过程中。(不要忘记在开发过程中删除已编译的样式表,否则浏览器将始终加载此样式表,并且之后不会进行任何更改)

pdf.css文件中可能存在错误(打字错误)。查看是否可以找到任何缺少的分号或括号。

您需要将
pdf.css
添加到
config.assets.precompile
中的
config/environments/production.rb

原因是rails假定您希望将所有样式放在一个位置

这也节省了预编译的空间

例如: 以下文件:

  • pdf.css
  • screen.css
  • print.css

然后将所有文件编译成
application.css

您是否需要在html模板中的某个地方显式地使用pdf.css


如前所述,html中明确需要的每个文件(清单文件之外)都需要通过将它们添加到
config.assets.precompile

中来编译,是的,但这不是我想要的!那里有很多文件,我不想进入资产管道。另外,它是
application.css
Rails还创建了一个默认的app/assets/stylesheets/application.css文件
您是否需要在html模板的某个地方显式地使用pdf.css?是的,它被gem中定义的助手调用:
wicked\u pdf\u stylesheet\u link\u tag“pdf”
,这就是问题所在。如果你加上上面的答案,我会接受的。你读过我的答案了吗?我知道这是一个解决方案,但我也想知道为什么!听起来您在application.css之外的其他地方使用pdf.css。查看抛出ActionView::Template::Error的堆栈跟踪,它会明确地告诉您在哪里使用pdf.css yyep,我实际上是在application.css之外使用它,请参阅我对原始帖子的评论。这可能是问题所在吗<代码>请务必注意,要在清单外部引用的文件必须添加到预编译数组中,否则它们在生产环境中将不可用。严格来说,这不是事实。我确实需要在我的html中使用它——这是的一个要求。请编辑,我会接受。宝石应该有自己的清单吗?虽然很明显,如果它产生了这个错误,它没有。gem中没有定义
pdf.css
文件。阅读更多信息。
rake assets:precompile