ハッシュまたはハッシュの配列のいずれかのオブジェクト(APIおよびから返されたオブジェクト)があります。私はそれがまだ配列でない場合、配列に囲みたいと思います。配列メソッドとハッシュ
私は、数字や配列と予想される方法で機能する、その上にArray
を適用しようとしました:
Array(1) # => [1]
Array([1, 2]) # => [1, 2]
Array([{a: 1}, {b: 2}]) # => [{:a=>1}, {:b=>2}]
が、それはハッシュで失敗します。
Array({a: 1}) # => [[:a, 1]]
[{:a=>1}]
でなければなりません。
代わりに、私は型チェックを追加することができます。
responses = [responses] if responses.is_a?(Hash)
は、よりよい解決策はありますか?
'[回答] .flatten':多くの理由のために任意のRailsのヘルパーを使用することはありませんので、私はほとんどの明示的なバージョンで、より良い、
[responses].flatten
に固執、またはでしょうえー。 – mudasobwaまた、 'ActiveSupport'はあなたが望むものを正確に実行する[' Array#wrap'](http://api.rubyonrails.org/classes/Array.html#method-c-wrap)を導入しています。 – mudasobwa
@mudasobwaパーフェクト、 'Array#wrap'は私の選択です。 – sschmeck