ERB/Coffee Rails 中图像网址的未定义局部变量或方法"image"



"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

最新更新