У меня есть это приложение Rails, которое обслуживает index.html.erb с помощью UserController. В контроллере angular, который обрабатывает эту страницу, у меня есть служба ресурсов $для пользователя
CoffeeScript
.factory('User', ['$resource', ($resource) ->
$resource 'api/users/:user_id/:action', {authenticity_token:app.csrf},
query:
method: 'GET'
isArray: yes
new:
method: 'GET'
params:
user_id: 'new'
update:
method: 'PUT'
])
И контроллер выбирает
window.app = angular.module("app", ['userServices'])
.config(["$routeProvider", ($routeProvider) ->
$routeProvider
.when "/users",
templateUrl: "assets/templates/users/index.html"
controller: UserCtrl
.otherwise redirectTo: "/users"
])
# users Controllers
UserCtrl = ($scope, User) ->
User.query (r) ->
$scope.users = r
# code..
Я думаю, что это довольно распространенный сценарий, но, очевидно, для этой страницы требуется больше одной поездки на сервер. Мне было интересно, есть ли способ angular использовать некоторые данные начальной загрузки, так как они были возвращены данными из действия, вызванного службой $resource.
Я уже позаботился о части данных bootstrap, присвоив ее глобальной переменной Gon с Gon Ruby gem. Я знаю, что могу просто сделать $scope.users = gon.users. Но тогда эти модели пользователей не получат такие тонкости, как $scope.users [0]. $Save()
Спасибо!