我有以下提交的参数:
{"utf8"=>"✓",
"course"=>
{
"title"=>"Test", "roles"=>["Tuesday", "Thursday"]
}
}
我的问题是:如何将“角色”参数迭代到“add_role”?
我目前正在尝试此迭代,但它无法正常工作:
@course.user_id = current_user.id
params['course']['roles'].each do |key, value|
@course.add_role(key['course']['roles'])
end
我收到以下错误:undefined method '[]' for nil:NilClass
迭代这些参数我做错了什么?
谢谢!
答案 0 :(得分:3)
params['course']['roles']
是数组["Tuesday", "Thursday"]
,而不是哈希。
在你的循环中,key
获取角色字符串的值,"Tuesday"['course']
返回nil
,nil['roles']
会导致错误。
您似乎正在尝试这样做:
params['course']['roles'].each do |role|
@course.add_role(role)
end