私は Angular の学習を始めたばかりで、Ryan Bates のRailscastを見たり、BerylliumWork のチュートリアルを読んだりしましたが、Rails サーバーからデータにアクセスする方法を理解するのにまだ苦労しています。
ここでは、非常に簡単な使用例があります。ビューでユーザーの first_name にアクセスしたい。
ビューコードは次のとおりです。
<div ng-controller="UserCtrl">
{{user.first_name}}
</div>
コーヒースクリプトファイルは次のとおりです。
app = angular.module("app", ["ngResource"])
app.factory "User", ["$resource", ($resource) ->
$resource("/users/:id", {id: "@id"}, {
show: {method: "GET"}
})
]
@UserCtrl = ["$scope", "User", ($scope, User) ->
$scope.users = User.query()
$scope.user = User.show(id: **1**)
]
これが私のコントローラーです:
def show
respond_with User.find(params[:id])
end
ご覧のとおり、$scope.user にハードコードされた ID があり、それがページに表示されます。同様に、ng-app="user in users"...{user.first_name} のようなものを使用すると、ユーザーの完全なリストが取得されます。
ただし、ユーザーのインスタンスを 1 つ取得するにはどうすればよいですか? ハードコーディングされた「1」ではなく、インスタンス変数を使用していますか?