gpt4 book ai didi

ruby-on-rails - 在 AngularJS 服务中包装参数以更新 API 请求

转载 作者:太空宇宙 更新时间:2023-11-03 16:47:32 26 4
gpt4 key购买 nike

我正在尝试使用 AngularJS 和 API 进行更新

服务:费用.js

angular
.module('timeTrackerApp.services',[])
.service('Expense', ['$resource', function ($resource) {
return $resource('/api/v1/expenses/:id', {id:'@id'}, {
'update': {
method: 'PUT'
},
'destroy': {
method: 'DELETE'
}
})
}])

Controller :费用 Controller .rb

def permitted_params
params.require(:expense).permit(:name, :price)
end

所以预期的 JSON 格式是 { expense: { name: "value", price: value } }
但我得到了 { name: "value", price: value }

那么谁能帮我把它包装到根节点(费用)中?

最佳答案

当 Controller 名称与模型名称匹配时,Rails 会自动包装参数。 Check doc .

如果它失败了,你可以在你的 Controller 中手动完成:

 wrap_parameters :expense, include: [:name, :price]

所以如果你收到:

 { name: 'name', price: 'price' }

Controller 会给你:

 { name: 'name', price: 'price', expense: { name: 'name', price: 'price' } }

服务器端也是如此,因为它简洁明了。

关于ruby-on-rails - 在 AngularJS 服务中包装参数以更新 API 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30155595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com