2013-08-02 4 views
1

Я пытаюсь установить переменную $ scope.list в угловом, чтобы она была равна переменной @users в моем контроллере rails по методу индекса ... любая помощь?Доступ к переменной экземпляра Rails в AngularJS

ex: $scope.list = Users.query(); 


User_profile.rb (controller) 

def index 

@users = User.all 

end 
+0

Просто, чтобы убедиться, что я понимаю, у вас уже есть '$ scope.list' заселены и хочу установить' @users ', или наоборот? – Malkus

+0

Пользователи @Malkus возвращают запрос на рельсы, и я хочу иметь возможность установить переменную $ scope.list в результат запроса. Однако я хочу сделать это, не делая $ scope.list = <% = raw users.to_json%>. Но я не уверен, как это сделать с ресурсом $ или с каким-то другим угловым методом. – coderlyfe

ответ

0

Это похоже на другие проблемы, люди имеют в отношении использования JQuery $.ajax вызовов с AngularJS

Если вы посмотрите на this overview of Angular вы увидите Угловые компилирует все в свой собственный контекст выполнения. Вы должны принести ваши Rails позвонить в угловой для того, чтобы данные появляются в $scope

двух вариантов, чтобы решить эту проблему, являются:

  1. Переключитесь на AngularJS $http службы. Это было бы мое предпочтение: все будет уже в Angular, и вы можете удалить свою зависимость от дополнительной библиотеки.
  2. Оберните вызов метода $scope.$apply, чтобы вызвать $digest петли, когда вызов Rails закончена
+0

Удивительное спасибо за помощь! Есть ли в любом случае, я мог бы получить образец кода, чтобы посмотреть, чтобы помочь мне лучше понять, что делать? – coderlyfe

+0

Взгляните на угловой [Справочник по API] (http://docs.angularjs.org/api/) Это хороший ресурс и имеет множество рабочих примеров. – Malkus

+0

Я все еще боюсь ... может быть, быстрый пример? – coderlyfe

Смежные вопросы