これらのgemを使用して、AngularJSを使用したRails 4アプリケーションがあります:
- gem 'angularjs-rails'
- gem 'angular-rails-templates'
- 宝石「asset_sync」
次のようなテンプレートでうまく機能します。
<img ng-controller='LikePostController'
ng-dblclick='like(post);'
ng-src='{{post.photo.standard}}'
class='lazy post_photo pt_animate_heart'
id='post_{{post.id}}_image'
/>
イメージは正しくレンダリングされます。しかし、私の他のjsでは
petto.directive('ptAnimateHeart', ['Helper', function(Helper){
linkFunc = function(scope, element, attributes) {
$heartIcon = $("#heart_icon");
if($heartIcon.length == 0) {
$heartIcon = $("<img id='heart_icon' src='/assets/feed.icon.heart.png' alt='Like' /> ");
$(document.body).append($heartIcon);
}
element.on('dblclick', function(event){
$animateObj = $(this);
Helper.animateHeart($animateObj);
});
}
return {
restrict: 'C',
link: linkFunc
}
}])
ブラウザ コンソールから 'assets/feed.icon.heart.png' が見つかりませんでした。app/assets/feed.icon.heart.png の下に feed.icon.heart.png があります。
ps: 言い忘れましたが、assets sync gem を使用して、Amazon s3 でアセットをホストしています。イメージは開発ではうまくいきましたが、本番環境ではうまくいきませんでした。