Ruby on rails 解析逗号分隔的值

Ruby on rails 解析逗号分隔的值,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我想在RubyonRails中解析url参数中逗号分隔的值 例如,如何解析以下内容 http://example.com/?fields=1,2,3 我希望能够在控制器中使用params[:fields]。这是在创建数组吗?我应该使用for循环吗?foo=params[:fields].split(',').map{I | Integer(I)} foo = params[:fields].split(',') 这会将字段参数转换为整数,并验证字段参数是否为整数。如果不是这样,则会引发参数错

我想在RubyonRails中解析url参数中逗号分隔的值

例如,如何解析以下内容

http://example.com/?fields=1,2,3

我希望能够在控制器中使用params[:fields]。这是在创建数组吗?我应该使用for循环吗?

foo=params[:fields].split(',').map{I | Integer(I)}

foo = params[:fields].split(',')

这会将字段参数转换为整数,并验证字段参数是否为整数。如果不是这样,则会引发参数错误。(例如)

如果其值仅为1a怎么办?这会产生错误吗?迭代foo最有效的方法是什么?不,它不会产生错误。拆分没有分隔符的字符串只返回一个包含一个元素的数组。如果您想对每个元素执行操作,使用#each进行迭代可能是您最好的选择。感谢chron的评论
> a = "1,2,3"
 => "1,2,3" 
> a.split(',')
 => ["1", "2", "3"] 
> a.split(',').each {|element| p element}
"1"
"2"
"3"
 => ["1", "2", "3"] 
> a.split(',').map(&:to_i)
 => [1, 2, 3]