2016-12-16 10 views
0

に配列からブラケットを取り外すだから私は、文字列としてデータベースにあるplan_codeという名前のオブジェクトを持っています。しかし、私は複数のエントリを実装できるようにしようとしています。私はユーザーにこれらのエントリをカンマで区切らせてもらいました。ルビー

私は整数の分割に働いてきたが、私はそれらを分割し、それらが一つの大きな配列になってきたかのように彼らは括弧で囲まれて、それらを表示した後、私はそれで問題に遭遇しました。私のモデルでは

は私のコードは私の結果は、私はそれらの括弧を取り除くとちょうど整数を一覧表示、取得するために何ができるのか思ったんだけど[123451, 52354, 12345]

として羽目になる

def bob 
    plan_code.split(",").map(&:to_i) 
end 

のように見えますか?

+0

を使用することができます。それがあなたが望むものでないなら、それはなぜですか?カンマで区切られた文字列はすでに*持っています。あなたは何をしようとしているのですか? –

+0

ユーザは、1つのコンマで区切って整数を入力します。その間にスペースを入れてその情報を表示したいと思います。あなたがグラグラ入力を正常化しようとしている場合は、 '、あなたは、'、 '、ストリップ先頭と末尾の空白で分割し、'とまで戻って参加する必要があり、 – kdweber89

+2

を(thatsのは、最終的に私はここで何をしようとしています)。あなたはこれを間違っているIMO:最悪の場合は、実際の配列として保存する必要があります(例:シリアライズ)。計画コードがデータベースの成果物である場合は、実際の関係を使用する必要があります。 –

答えて

2

"123, 123"などの文字列として値を格納する場合は、map &:to_iには意味がありません。

あなたは、あなたが明示的にmap` `を持つ配列を作成している... plan_code.split(",").join(", ")または代わりplan_code.gsub(",", ", ")

+0

ありがとうございます!あなたの答えに基づいて私が間違っていたことを間違いなく認識しました。 – kdweber89

+1

うれしい。私はこのアプローチ(配列を直列化された文字列として格納する)は小さなデータセットでも機能しますが、SQLクエリでこれらの配列値を調べる機能が欠けていると思います。そのため、Railsは関連/外部キーを使用しています。たとえば、すべての 'plan_code'レコードを検索して、特定の番号を含むレコードを探したいとします。すべてを逆直列化する必要があります。 –