Rails:每个Array给出错误?

时间:2009-01-05 22:49:26

标签: ruby-on-rails ruby

在一种形式中,我正在创建一个区域并编辑多个用户。下面的“user_attributes”用于用户,“name”用于区域。因此,对于每个user_attribute,我想更新用户模型。

PARAMS

{ "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]为零。但你可以从params看到它不是。我错过了什么吗?

2 个答案:

答案 0 :(得分:6)

根据您发布的内容,您的user_attributes哈希值在您的territory哈希值中。那应该是你的问题 - 要么把它移到外面,要么做params[:territory][:user_attributes]

答案 1 :(得分:-2)

尝试使用params [“user_attributes”]。