問題
railsでTurbolinksを有効にしたままだと、画面遷移をした際にAngular.jsが動きません。
おそらくTurbolinksが画面遷移をAjaxに置き換えており、その際にAngular.jsをうまく初期化できていないようです。
対処策
1. htmlのng-appを外す
Angularを使用する場合にhtmlタグに付けるng-app
を外します。
before
<html ng-app="app">
after
<html>
2.app.jsでbootstrapする
app.js
window.App = angular.module('app', ['ngResource']);
//下記を追加
$(document).on('ready page:load', function(){
angular.bootstrap(document.body, ['app']);
});
これで動作するようになりました。
下記ページを参照させていただきました。
Turbolinksを有効にしたままでangularjsを使用する