Ruby 设计不保存自定义控制器';更新';数组属性的操作

Ruby 设计不保存自定义控制器';更新';数组属性的操作,ruby,devise,ruby-on-rails-5,Ruby,Devise,Ruby On Rails 5,我有两个设计模型——用户模型和代理模型——所以我为每一个都定制了控制器 在代理控制器中,更新代理时,我试图传入用户ID,这是一个数组: def account_update_params params["agent"]["user_ids"] = params["agent"]["user_ids"].split(",") params.require(:agent).permit(:email, :password, :password_confirmation, :cur

我有两个设计模型——用户模型和代理模型——所以我为每一个都定制了控制器

在代理控制器中,更新代理时,我试图传入
用户ID
,这是一个数组:

  def account_update_params
    params["agent"]["user_ids"] = params["agent"]["user_ids"].split(",")
    params.require(:agent).permit(:email, :password, :password_confirmation, :current_password, {:user_ids => [:id]})
  end
在我将
[:id]
添加到
用户id
之前,我收到了一条“unpermitted parameter”错误消息。添加
[:id]
解决了这个问题,但现在我的问题是记录根本没有保存,而
用户id
保持为
nil

但是,正如您在此处看到的,它正在参数中传递:

"agent"=>{"user_ids"=>"3", "email"=>"test_agent@example.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "current_password"=>"[FILTERED]"}

您能否向我们展示处理
代理
实例更新的代码(分配
用户ID
并保存记录的位置)控制器只是从
develope::RegistrationsController
继承其更新操作,并在操作之前使用
帐户更新参数
。能否向我们展示处理
代理
实例更新的代码(分配
用户ID
并保存记录的位置)控制器只是从
develope::RegistrationsController
继承其更新操作,并在操作之前使用
帐户更新参数