"controllers.js.coffee.erb"文件中有以下代码:
$rootScope.icons = [
"<%= image-url('marker_1.png') %>", '/assets/marker_2.png',
'/assets/marker_3.png', '/assets/marker_4.png',
'/assets/marker_5.png', '/assets/marker_6.png',
'/assets/marker_7.png',
]
但是当我尝试打开浏览器页面时,出现以下错误:
"undefined local variable or method `image' for #<#<Class:0x007fdb8e411d08>:0x007fdb8e1e1f88>
(in /Users/marya/Rails/web_app/app/assets/javascripts/angular/modules/places/controllers.js.coffee.erb)"
我该如何解决它?提前谢谢。
image-url 是 sass-rails 提供的帮助程序方法,您可以在 JavaScript 和样式表文件中使用它,但不能在 ERB 文件中使用它。您应该使用 asset_path 或在 <%= %> 之外使用图像 url,以便它不会被评估为 ruby 脚本。
http://guides.rubyonrails.org/asset_pipeline.html#css-and-sass