0

私はangularjsでRails 3.2を使用しており、angularの$resourceの使用方法を理解しようとしています。

リソースがデフォルト以外のアクションから結果を返すようにしたい (つまり、取得、保存、クエリ、削除、および削除ではない)

だから私のPostsコントローラーには

def home
  @recent_posts = Post.recent_posts
  respond_to do |format|
    format.html
    format.json
  end
end

そして、私のjsファイルには

app.factory "Post", ["$resource", ($resource) ->
  $resource("/post/:id/:action", {id: "@id"}, {home: {method: "GET", isArray: true}})
]

@HomeCtrl = ["$scope", "Post", ($scope, Post) ->
  $scope.recent_posts = Post.home()
]

私の見解では、のようなことをしようng-repeat="post in recent_posts"としても、何も返されません。

4

2 に答える 2

1

actionパラメータを指定するのを忘れました:

app.factory "Post", ["$resource", ($resource) ->
  $resource "/post/:id/:action",
    id: "@id"
  ,
    home:
      method: "GET"
      params:
        action: "home"

      isArray: true

]
于 2013-03-21T07:21:38.680 に答える
0

あなたの提案に感謝します。ホームコントローラーを次のように変更しました:

@HomeCtrl = ["$scope", "Post", ($scope, Post) ->
  $scope.recent_posts = Post.home({action:'home'});
]
于 2013-03-21T23:24:11.960 に答える