gpt4 book ai didi

javascript - AngularJS 到 Rails MassAssignmentSecurity::Error

转载 作者:行者123 更新时间:2023-11-28 01:43:16 44 4
gpt4 key购买 nike

在将 AngularJS 与 Rails 一起使用时,我在更新时不断收到 MassAssignmentSecurity 错误。我知道这是由于将“created_at”和“updated_at”等属性与数据一起传递所致。

为了解决这个问题,我构建了一些 json,它只传递表单中的属性。这确实在整个程序中增加了更多的维护工作。

有更好的方法吗?

这是一个例子:

AngularJS

  $scope.contruct_json = ->
{
name: $scope.client.name
surname: $scope.client.surname
}


# --------------------------------------------------------------------------------
# Update
# --------------------------------------------------------------------------------
$scope.update = ->
Client.update
id: $stateParams['id']
,
client: $scope.contruct_json()
, (response) ->
$location.path "/clients/#{$stateParams['id']}"

更新

将我的 AngularJS 代码更改为此

  # Remove keys from hash to make it acceptable for Rails to update
$scope.remove_keys = (hash) ->
new_hash = {}
angular.forEach(hash, (value,key) ->
if(key!='id' && key!='created_at' && key!='updated_at')
new_hash[key]=value
, new_hash)
return new_hash
# --------------------------------------------------------------------------------
# Update
# --------------------------------------------------------------------------------
$scope.update = ->
Client.update
id: $stateParams['id']
,
client: $scope.remove_keys($scope.client)
, (response) ->
$location.path "/clients/#{$stateParams['id']}"

最佳答案

也许您应该考虑允许使用 attr_accessibleClient 模型上的属性进行批量分配?

关于javascript - AngularJS 到 Rails MassAssignmentSecurity::Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20625695/

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