默认情况下,Angular的$ resource。$ save方法发送一个参数在“base”范围内的请求。例如,使用属性{name: 'John Smith', email: 'john.smith@gmail.com'}
创建资源将导致POST参数:
name=John Smith&email=john.smith@gmail.com.
但是,我有一个Rails控制器需要作用于子哈希的资源(更像是正常的做事方式)。我希望同样的创建请求有参数:
user[name]=John Smith&user[email]=john.smith@gmail.com
问题是,我只是没有看到使用$ resource执行此操作的方法。有可能吗?
答案 0 :(得分:1)
这可以通过使用$resource
的{{1}}选项来完成。下面是使用transformRequest
操作(用coffeescript编写)的示例:
update
如果您希望默认执行此操作,我建议您编写一个包裹update:
method: 'PUT'
transformRequest: (data, headersGetter) ->
data = _.omit(data, '$promise', '$resolved')
json = {'user': data}
return JSON.stringify(json)
的服务,并将$resource
个功能添加到所有操作中。