新手问题 Assets Pipeline 的 compile 问题,说 *.css isn't precompiled

Catherine · 2015年11月20日 · 最后由 catherine 回复于 2015年11月20日 · 1768 次阅读

application.css 里是加载了所有的 css。 报错是

Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Sessions#new 
reset.css isn't precompiled

session 里就设置了一个页面的 title,没其他东西。

database.yml 里的 development 下没有写 host,默认是本机的吧,但 production 里的 host 写的是服务器的地址,执行

bundle exec rake assets:precompile

,显示的是它去连接服务器的地址了,失败,我只是想在本机测试。然后我把 production 里的 host 给注释了,再执行

bundle exec rake assets:precompile

然后花了点时间,看到终端里显示出被加载的那些 css 之类的文件了。 但启动服务进去后,页面没有任何 css 样式。

之后我只有临时先把

config.assets.compile

置为 true,然后就正常了。为什么设置为 false 时就没法编译处理那些 css 而且会报错?google 过,so 上也看了,没找到合适的解决方法。我只能暂时改为 true 做修改,上传的时候再改回 false 了。。

如果引用了 assets 目录外的文件,需要配置路径,rails 才会编译 看一下这两个配置参数 config.assets.paths config.assets.precompile

#1 楼 @suupic 不知道为什么我执行 bundle exec rake assets:precompile 时,看到的它跑去连接 production 环境下的地址。所以我执行了:

bundle exec rake assets:precompile RAILS_ENV=development RAILS_GROUPS=assets

显示了 including asset,所有的 assets 都加载进去了。然后重启后,进去发现所有的样式都没有挂上,

config.assets.compile = true

把这个设置为 true 后才可以挂上了样式,但所有的图片什么的都没有加载进去。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号