许多教程介绍了在使用 AngularJS 时在 Rails 模型中的简单嵌套。但我花了将近一周的时间尝试将多态关系实现到角度控制器中。我的组织包含多态电话、电子邮件等。我尝试保存新组织。这是我的控制器:
angular.module('GarageCRM').controller 'NewOrganizationsCtrl', ($scope, $location, Organization) ->
$scope.organization = {}
$scope.organization.phones_attributes = [{number: null}]
$scope.create = ->
Organization.save(
{}
, organization:
title: $scope.organization.title
description: $scope.organization.description
phones:
[number: $scope.phone.number]
# Success
, (response) ->
$location.path "/organizations"
# Error
, (response) ->
)
我
accepts_nested_attributes_for :phones
在我的 Rails 模型和
params.require(:organization).permit(:id, :title, :description, phones_attributes:[:id, :number])
控制器中有。在保存时,我得到了控制台的响应:
由 OrganizationsController#create 作为 JSON 参数处理:{"organization"=>{"title"=>"test212", "phones"=>[{"number"=>"32323"}]}} 不允许的参数:电话
知道如何解决吗?