Ruby on rails 解析逗号分隔的值
我想在RubyonRails中解析url参数中逗号分隔的值 例如,如何解析以下内容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(',') 这会将字段参数转换为整数,并验证字段参数是否为整数。如果不是这样,则会引发参数错
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]