1

私は 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」ではなく、インスタンス変数を使用していますか?

4

1 に答える 1

1

デフォルトでは:

  • $resource.query() は、オブジェクトのリストを取得するためのものです。
  • $resource.get({params}) は、単一のオブジェクトを取得するためのものです

あなたの場合、必要です$scope.user = User.get({id: 1})

于 2013-03-12T16:05:17.350 に答える