我正在为我的模板使用.nghaml并使用以下gems进行Angular集成:
gem 'angularjs-rails'
gem 'angular-rails-templates'
我的Rail视图布局是name.html.haml,并且在其中使用image_tag可以正常工作.在制作时我可以看到图像.
相比之下,在我的Angular模板(assets / template)及其.nghaml扩展名中,我无法使用Rails helper image_tag并且直接引用不起作用
%image(src="assets/sample_image.png")
直接引用在本地工作,但在生产图像上不会呈现.
此人(Rails Image assets in Angular Directive and template)有类似的问题,但使用
%img(ng-src='assets/sample_image.png')
在当地工作但不在生产中.并且尝试使用image-url会导致未定义方法的错误(就像image_tag一样),因为没有任何Rails助手似乎在.nghaml扩展中工作.
正在运行的图像(带有image_tag帮助程序的Rails视图)引用预编译的资产,这些资产的名称随着md5-hash的添加而改变(基于第一个链接的文章),但是我有问题弄清楚如何分辨nghaml模板在没有Rails帮助器方法的情况下调用新预编译资产的内容.
几个月前(Rails App to Angular: HAML + Rails Helpers)我和助手一起遇到了这个问题,并没有找到解决方案,但最近才需要将图像放到nghaml模板中,而不仅仅是用CSS创建我需要的东西.
我目前正计划将角度模板移回到erb,如果我无法理解这一点,但如果有其他替代品(或解决方案)我不知道,我很乐意听到它们.
最佳答案 在
Rails App to Angular: HAML + Rails Helpers之后提出的解决方案将允许您在生成客户端html文件时在haml文件中使用帮助程序(包括image_tag帮助程序).