Angular(或angular-rails-资源)正在奇怪地序列化嵌套数据

Angular (or angular-rails-resource) is serializing nested data strangely

我有一个 angular-rails-resource 查询,如下所示:

    Payment.query({
      between: {
        startDate: moment($scope.startDate).format("YYYY-MM-DD"),
        endDate: moment($scope.endDate).format("YYYY-MM-DD")
      }
    }) // irrelevant code omitted

不幸的是,我的查询字符串格式如下:

/payments?between=%7B%22startDate%22:%222015-02-18%22,%22endDate%22:%222015-03-04%22%7D

Rails 是这样的:

{"between"=>"{\"startDate\":\"2015-02-18\",\"endDate\":\"2015-03-04\"}"}

这是对内部属性的双重转义。我当然想要的是:

{"between"=>{"startDate":"2015-02-18","endDate":"2015-03-04"}}

我分不清这是 Angular 还是 angular-rails-资源。关于如何尝试正确序列化数据的任何建议?

自己想办法。这是修复:

Payment.query({
  "between[startDate]": moment($scope.startDate).format("YYYY-MM-DD"),
  "between[endDate]": moment($scope.endDate).format("YYYY-MM-DD")
})

我觉得这不是最棒的解决方案,但对我来说似乎并不可怕。