使用AngularJS从Rails Asset Pipeline显示图像的最佳方法?

时间:2013-10-11 20:10:00

标签: ruby-on-rails angularjs coffeescript asset-pipeline

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

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

并在图片代码中使用ng-src指令,但产生了404。

很高兴发布更多我的代码,如果它有用的话。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

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

根据Rails指南的section 2.3.3

  

如果您将一个erb扩展名添加到JavaScript资源,使其成为application.js.erb之类的东西,那么您可以在JavaScript代码中使用asset_path助手:

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