我有params[:userform]
数组,其中包含我的表单元素,我正在寻找像php这样的解决方案:arrayname['city']
。我想把元素放到变量
答案 0 :(得分:2)
使用数组是一个坏主意,因为你不知道这些值意味着什么,因为你只知道一个索引;你应该使用哈希就是出于这个原因。
话虽这么说,要读取数组中的值,你可以这样做:
params[:userform].each_with_index {|value, index| puts "[#{index}] == #{value}" }
要直接分配变量,您可以这样做:
some_variable = params[:userform][0]
some_other_variable = params[:userform][1]
同样,你应该使用哈希,这样你就可以做这样的事情:
user_name = params[:userform][:name]
user_state = params[:userform][:state]
更容易阅读,更容易理解,但最重要的是,更容易变成元代码:
params[:userform].each do |key, value|
instance_variable_set("@user_#{key}", value)
end