【问题标题】:getting Restangular nested resources获取 Restangular 嵌套资源
【发布时间】:2014-09-02 13:11:54
【问题描述】:

所以...我想获取父资源的嵌套资源。

我想显示某本书的所有页面。

以某种方式用restangular来做会很好。当我查看文档时,似乎我应该能够做到。这是我在 angularJS 中制作的一个可行的方法,但我觉得我应该使用 Restangular 来实现这一点:

$scope.getPages = () ->
      Restangular.one('books', 8).getList('pages').then (response) ->
        console.log(response)
        $scope.pages = $filter('filter')(response, book_id: 8)

Restangular.one('books', 8).getList('pages') 返回所有书籍中的所有页面。我不明白......它不应该只返回第 8 本书的页面吗?

无论如何,我只是从那里过滤页面,所以我最终只得到第 8 本书的页面。

但是我不能以某种方式使用 Restangular 来做到这一点吗?

PS,我没有发现在这样的 js 文件中使用来自 AngularJS 的 $filter 的示例......一切都是通过 HTML 完成的,例如“page in pages | filter: {book_id: 8}”

【问题讨论】:

  • 我的回答解决了你的问题吗..?

标签: angularjs filter resources nested restangular


【解决方案1】:

您的语法有点错误,因此可能发送了错误的请求。试试:

Restangular.one('books', 8).all('pages').getList().then(response)

这应该向:/books/8/pages提出请求

【讨论】:

  • 谢谢!!实际上..这两种语法都可以发出正确的 GET 请求。我让我的 Rails 控制器返回 Book.all 而不是 Book.find(params[:id])。作为旁注...如果我想对属于一本书的页面发出 GET 请求...我会说 @pages = Page.where(book_id: params[:book_id]) 而不是 Page.where(book_id :参数[:id])。所以真的,我的问题是让 Angular 正确地与 rails 对话
  • @user3583384 语法肯定不正确,这两者都不会发出相同的GET 请求。您问题中的 getList('pages') 不正确,只有查询参数应该进入构建器的 getgetList 部分。您的问题将向books/8 提出请求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-30
  • 2017-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多