使用 AngularJS 显示来自 Rails Asset Pipeline 的图像的最佳方式



我正在开发一个带有Angular驱动前端的Rails应用程序。我想将 Rails 资产文件夹中的图像包含在一个视图中,该视图仅在使用 ng-switch 指令的特定上下文中显示。我尝试了几种解决方案,例如在<img>标签的src中键入所有其他(Rails服务(图像的文件路径。我还尝试在包含角度控制器的 coffeescript 文件中添加一个 erb 后缀,然后这样做:

$scope.logoSrc = '<%= asset_path("images/logo_grey.png") %>'

并在图像标记中使用 ng-src 指令,但这会产生 404。

如果有帮助,很高兴发布更多我的代码。提前感谢任何帮助!

尝试以下操作:

$scope.logoSrc = '<%= asset_path("logo_grey.png") %>'

根据 Rails Guide 的第 2.3.3 节:

如果你在 JavaScript 资产中添加一个 erb 扩展,使其成为类似 application.js.erb 的东西,那么你可以在 JavaScript 代码中使用 asset_path 帮助程序:

$('#logo').attr({
  src: "<%= asset_path('logo.png') %>"
});

最新更新