Rails: для каждого массива дает ошибку? - PullRequest
1 голос
/ 06 января 2009

В одной форме я создаю территорию и редактирую нескольких пользователей. «User_attributes» ниже для пользователей, а «name» для территории. Поэтому для каждого атрибута user_attribute я хотел обновить модель пользователя.

Титулы

{ "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] равен нулю. Но вы можете видеть из параметров его нет. Я что-то упустил ??

Ответы [ 2 ]

6 голосов
/ 06 января 2009

Из того, что вы опубликовали, ваш user_attributes хеш находится внутри вашего territory хеша. Это должно быть вашей проблемой - либо переместите его наружу, либо сделайте params[:territory][:user_attributes]

0 голосов
/ 06 января 2009

Попробуйте params ["user_attributes"].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...