我试图创建一个Rails应用程序模板,当我跑我的代码块中有Rails应用程序模板运行的代码和异常触发拟合
file 'config/sass.rb', <<-RUBY
Sass::Engine::DEFAULT_OPTIONS[:load_paths].tap do |load_paths|
load_paths << "#{Rails.root}/app/assets/stylesheets"
load_paths << "#{Gem.loaded_specs['compass'].full_gem_path}/frameworks/compass/stylesheets"
end
RUBY
“新轨道”这个模板,我得到了以下错误:
undefined method `root' for Rails:Module (NoMethodError)
我是新来的应用程序模板以及此代码块语法。 (你甚至称之为< < -RUBY block?在google上搜索真的很难)。这是我的印象,它不会运行块内的任何代码,所以它不应该导致错误。是什么赋予了?
UPDATE:我再补充一些背景:
我想在这里修改应用程序模板:https://github.com/leshill/rails3-app/blob/master/app.rb我想从这个博客中添加代码:http://metaskills.net/2011/05/18/use-compass-sass-framework-files-with-the-rails-3.1-asset-pipeline/,这样我可以在Rails3中罗盘的支持。 1
'<< - RUBY'构造被称为“heredoc”,这是Bourne Shell(AKA'/ bin/sh')中语法的起源(AFAIK)。 – 2011-06-11 00:12:48