我想從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轉換領域的整數,將驗證您的域PARAMS,如果你希望他們如果不是這種情況integers.An參數錯誤會提高。(前http://example.com/?fields=1,2,test)
如果它只有1a的值呢?這會產生一個錯誤?迭代foo的最有效方法是什麼? – glarkou
不,不會產生錯誤。將沒有分隔符的字符串拆分只返回一個包含一個元素的數組。如果你想對每個元素執行一個動作,使用#each迭代可能是你最好的選擇。 –
感謝chron的評論 – glarkou