Как получить доступ к переменной экземпляра rails из контроллера angularJS - PullRequest
0 голосов
/ 08 июля 2019

У меня есть приложение rails, которое подключено к клиенту angularJS. (соединение осуществляется через файлы someview.html.erb (так называемый встроенный ruby). У меня есть контроллер рельсов и внутри него:

@books = Book.find(1)

Я хотел бы получить доступ к этой переменной @books внутри моего контроллера angularJS: например:

@scope.list_of_books = @books

Какие у меня варианты?

примечание: этот пост: Доступ к переменной экземпляра Rails в AngularJS не помог мне. (Я также не мог понять, какова связь с $ http или что такое $ scope. $ Apply

1 Ответ

0 голосов
/ 11 июля 2019

вышеупомянутая статья решила мою проблему: https://spin.atomicobject.com/2013/11/22/pass-rails-data-angularjs/ с некоторыми интересными, но хакерскими решениями для доступа к переменным экземпляра rails в приложении angularJS.одно решение (хакерство):

<div ng-controller="itemsControllerNgInit" 
     ng-init="init('<%= @item.name %>', <%= @item.cost %>, <%= @item.id %>)">
  <h2> {{item.name}} ({{item.id}}) costs {{item.cost | currency}}  {{test}} </h2>
</div>

и контроллер:

function itemsControllerHiddenDiv ($scope) {
    var div = document.getElementById('div-item-data');

    $scope.item = {name: div.getAttribute("data-item-name"),
                   cost: div.getAttribute("data-item-cost"),
                   id:   div.getAttribute("data-item-id")
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...