Rails 5调试资产编译

时间:2017-02-17 22:15:55

标签: css ruby-on-rails sass asset-pipeline ruby-on-rails-5

如何在Rails 5中调试资产编译?

使用Chrome,我没有收到非常有用的错误消息。如果我从命令行运行rake assets:precompile,它也会失败,并且对我也没有足够的帮助。

我在从Rails 4.2升级到5期间开始的问题。在application.css.scss中,我有@import "nifty"nifty.scss与其他用于漂亮主题的SCSS文件一起存在于vendor / assets / stylesheets / nifty中。 nifty.scss的要点是:

@import "_variables";
@import "_layout";
@import "_animations";
@import "_mainnav";

当Rails尝试编译资产时,它会失败并显示错误为Undefined variable: "$enable-animation"的@import _animations。虽然,此变量在_variables;中定义。尽管我不需要,但我还是在_animations的顶部添加了@import _variables;。这修复了这个错误,但是其他非常相似的错误会出现更多的错误,直到我在每个其他scss文件中@import每个scss。

我认为问题不是SASS文件中的变量,而是其他地方的问题。我已经尝试将byebug作为断点放在其他地方,但似乎无法找到问题。

是否有其他方法可以调试资产管道和资产编译?

1 个答案:

答案 0 :(得分:0)

我不确定我能提供帮助。

调试链轮

您可以尝试调试资产管道中涉及的 Spockets GEM 。 RVM是一个隐藏文件夹,你的gems取决于你使用的 Ruby 的版本可能在以下路径中。

.rvm/gems/ruby-2.3.3@myapp/gems/

在那里,我能够找到sprockets-rails-3.2.0,你有几个 .rb文件你可以使用你的sublime编辑器打开你可以在代码中设置一个断点用于示例binding.pry。 有关pry调试器的详细信息,请查看 pry gem

我希望有些事情能解决你的其他问题...