Ruby on Railsのurlパラメータからコンマ区切りの値を解析したいと思います。カンマ区切りの値を解析する
たとえば、次のように解析するにはどうすればよいですか?
http://example.com/?fields=1,2,3
私のコントローラでparams [:fields]を使用したいと考えています。それは配列を作成していますか? forループを使うべきですか?
Ruby on Railsのurlパラメータからコンマ区切りの値を解析したいと思います。カンマ区切りの値を解析する
たとえば、次のように解析するにはどうすればよいですか?
http://example.com/?fields=1,2,3
私のコントローラでparams [:fields]を使用したいと考えています。それは配列を作成していますか? forループを使うべきですか?
foo = params[:fields].split(',')
> 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]
foo = params[:fields].split(',').map { |i| Integer(i) }
これは整数にフィールドのparamsを変換し、あなたは彼らがそうではない場合は、エラーが発生しますintegers.An引数になりたい場合は、あなたのフィールドのparamsを検証します。(例: 。http://example.com/?fields=1,2,test)
唯一の1a値ですか?それによってエラーが生じるのだろうか? fooを反復する最も効率的な方法は何ですか? – glarkou
いいえ、エラーは発生しません。デリミタがない文字列を分割すると、要素が1つの配列だけが返されます。要素ごとにアクションを実行する場合は、#eachを使用して反復処理を行うのがおそらく最善の策です。 –
ありがとうございました – glarkou