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")
})
我觉得这不是最棒的解决方案,但对我来说似乎并不可怕。
我有一个 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")
})
我觉得这不是最棒的解决方案,但对我来说似乎并不可怕。