2013-03-21 39 views
0

我正在使用rails 3.2和angularjs,並且我試圖瞭解如何使用angular的$資源。在rails中使用angularjs獲得自定義動作的結果

我想資源返回從非默認操作的結果(所以沒有得到,保存,查詢,刪除和刪除)

所以在我的帖子控制器我有

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",它不返回任何東西。

+0

'$ scope.recent_posts = Post.home({行動: '家',函數(響應){執行console.log(響應)},函數(響應){ console.log(response)}})'。請將這些回調註冊並檢查迴應內容。第一個函數是成功回調函數,第二個函數是錯誤回調函數。 – rajkamal 2013-03-21 08:00:06

回答

0

感謝您的建議,他們幫助我得到什麼最終奏效。我只是改變了家庭控制器像這樣:

@HomeCtrl = ["$scope", "Post", ($scope, Post) -> 
    $scope.recent_posts = Post.home({action:'home'}); 
] 
1

你忘了指定action參數:

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

     isArray: true 

] 
相關問題