2016-09-19 13 views
0

Ruby on Railsの新機能で、カンマで数字列をデータベースに格納する方法を理解できません。私はこれを実行してリストを配列に変換し、最初の項目をとります。例えばRubyでカンマ区切り文字列を検索する

:「12,34,56,78,90は、」それは私がその文字列を検索しようとしていたときのために12

同じことが行くとしてこれを保存します。これは、Railsが文字列を配列に変換して最初の要素を取得する理由を私には分かりません。私はこれを回避することができなかった。どんな助けもありがとう!

以下は、私が働きたいコードのサンプルです。

if DeviceApprovalQueue.find_by_address(params[:address]).nil? 
    daq = DeviceApprovalQueue.new(device_id: params[:gateway_id], address: params[:address]) 
    if daq.save 
    #Device is queued 
    end 
else 
    #Already queued 
end 
+1

書き込みしようとしているテーブルのスキーマと正確なエラーメッセージを表示してください。 – mudasobwa

答えて

1

Railsは配列に文字列を変換し、最初の要素を取りたい理由は、私にはどんな意味がありません。

ここでは何も起こりません。あなたは整数列を持っています。したがって12は、文字列を整数にキャストした結果です。

'12,34,56,78,90'.to_i # => 12 

これで文字列に格納できましたが、それは単なる文字列です。あなたは "整数のリスト"としてすべてのプロパティを失います。

配列の列に格納できます。しかしこれはa)事前に解析する必要があり、b)広くサポートされている列型ではありません。

多分、あなたは別のことをする必要があります。言いにくい。

+0

ありがとう、あなたは完全に正しい私の列は間違ったタイプだった。 –

関連する問題