如何获得params [:userform]值?

时间:2010-12-26 19:00:44

标签: ruby-on-rails arrays


我有params[:userform]数组,其中包含我的表单元素,我正在寻找像php这样的解决方案:arrayname['city']。我想把元素放到变量

1 个答案:

答案 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