在一个表单中,我创建一个区域并编辑多个用户下面的“user_attributes”代表用户,“name”代表地域所以对于每个user_属性,我都想更新用户模型。
参数

{ "territory"=>{"name"=>"Central Canada",
  "user_attributes"=>[{"user_id"=>"30"},{"user_id"=>"30"}]}
}

创建操作
@territory = @current_account.territories.new[:territory]
params[:user_attributes].each do |item|
  @user = User.find(item[:user_id])
  @user.update_attribute(:territory_id, @territory.id)
end

但rails正在回击params[:user_attributes]为零但是你可以从这些参数中看到它不是我遗漏了什么吗??

最佳答案

从你发布的内容来看,你的user_attributes散列在你的territory散列中这应该是你的问题——要么把它移到外面,要么做params[:territory][:user_attributes]

07-27 20:21