在Rails生产环境中使用Angular的ng-src

4
我正在Rails中构建一个简单的AngularJS应用程序 - 当在Heroku/生产中编译时 - ng-src链接到正确的路径,但即使与Rails的<% image_tag %>一起使用,也不会生成标准的压缩图像,因此仅在'ng-src'图像上出现404错误。下面是我在Rails中引用的简单angular代码(我在并行的CoffeeScript文件中没有任何问题)。在生产中,除了ng-src之外,一切正常运作,这导致了404错误。有没有办法将erb和ng-src组合起来使其在生产中工作?当然,在本地这不是一个问题。我也搜索了一下,但没有找到解决办法。
<div ng-controller="IndexCtrl">
<div class="left" ng-repeat="skill in skills | filter:query | orderBy:orderProp">
<div class="thumbnail">
   <img ng-src='/assets/logos/{{skill.shortname}}_s.png' alt="{{skill.alt}}" />
   <p>{{skill.description}}</p>
</div>
</div>
</div>

你能在erb文件中硬编码图像的src本身来检查它是否工作吗?并将其与ng-src所拥有的值进行比较。此外,根据你的应用程序服务的目的,你能否使用普通的src属性进行检查? - RAM
为解决问题,在config/environments/production.rb中更新/添加以下内容: config.serve_static_assets = true config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' config.assets.compile = true - Karen
1个回答

1
问题出在允许访问静态文件上,而不是 RoR 或 angularJS。根据 OP 的说法,解决方法是在文件 config/environments/production.rb 中进行配置:
config.serve_static_assets = true 
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' 
config.assets.compile = true 

正确,我应该将我的标记为答案而不是评论。 - Karen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接