2016-07-13 6 views
0

Railsにある配列を角度から取得/コピー/アクセスするにはどうすればよいですか?私はdef new関数内に@array_of_namesと呼ばれる一連の文字列を持っており、同じ角度配列(@array_of_names)を角度関数に入れたいと思っています。それを行う方法は何ですか?私はAngular側に@array_of_namesを持つことができますか?Railsにある配列を角度で取得/コピー/アクセスするには

RailsはあなたがAJAX経由でこれを達成することができます

def new 
    @account = Account.new 
    @array_of_names = read_names() 
end 

アンギュラファイル

(() => { 

    angular 
    .module('accounts') 
    .controller('AccountsController', AccountsController) 

    AccountsController.$inject = [] 

    //testing function 
    function AccountsController() { 
    let vm = this; 
    vm.claim = "Hello, world!"; 
    } 

})() 
+0

使用 'と連携する方法を説明するリンクです$ http'でAJAXのリクエストを行い、レールにjsonの応答を送るようにしました – charlietfl

+0

@charlietfl、私は最近レールを始めました。これは角の経験の初日です。平均? – user6465508

+0

https://docs.angularjs.org/api/ng/service/$http – charlietfl

答えて

0

を提出します。 RailsアプリケーションでAngularのJSONオブジェクトを使用するルートを設定する必要があります。

def get_names 
    render json: read_names() 
end 

ルート(/config/routes.rb:

Railsの
お使いのコントローラ名

コントローラ(/app/controllers/controller_name.rb)とコントローラ名を交換してください):

get '/get_names' => 'controller_name#get_names' 

角度

function AccountsController($http){ 

    var vm = this; 

    $http.get('/get_names').then(function(response){ 
    vm.names = response.data; 
    }); 
} 

AccountsController.$inject = ['$http']; 

本当にやっている角度のかを理解するには、このリンクを参照してください:ここで

https://docs.angularjs.org/api/ng/service/$httpはRailsと、より複雑なJSONレスポンス https://www.leighhalliday.com/responding-with-json-in-rails

関連する問題