以下是rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
rake aborted!
bad URI(is not URI?):
Tasks: TOP => environment
没什么可继续的。
答案 0 :(得分:2)
原来主要是用户错误,而且我对如何调用/ environment文件缺乏了解。我有一个部分来解析来自Heroku的CLOUDANT_URL环境变量,当然在预编译阶段不可用。这可能对我来说应该更加明显。
我把它移到一个单独的初始化器中,它有一个if Rails.env.production?
块包裹它。我希望这是处理这个问题的合理方法。
感谢大家的帮助。
答案 1 :(得分:0)
此消息很可能是因为您的某个资产路径或名称中包含非法字符。非法,我指的是需要编码以在URL中使用的字符。
我原以为Rails会这样做,但是如果不深入研究代码我就不能肯定。
查看文件名中的空格和扩展字符等内容,看看删除它们是否解决了问题。
如果是这种情况,您可以使用方法URI.encode(string)
对这些进行编码。