2016-07-11 6 views
0

タイトルが正しいことを願っています。 PostgreSQLとRuby 2.3.1でRails 5プロジェクトを使用する列オブジェクトを含むモデルを更新する

私のアプリでhstoreを有効にしました。私はオブジェクトデータでテーブルの列を更新する正しい方法を知らない。理にかなっている?

# There will be only two arrays: 
cars = ["honda", "bmw"] 
rate = [1, 2] 

cars.zip(rate).map do |c,r| 
    Foo.find(1).update_attributes(bar: {c => r}) 
end 
# Foo.find(1).bar = {"bmw" => 2} 

私は期待して:

# Foo.find(1).bar = {"honda" => "1", "bmw" => 2} 

barに2つの値を取得する方法は?

私はこれにone of my previous questionsを入れようとしていましたが、どこから始めるべきかわかりません。

あなたは配列からハッシュを作成することができます

答えて

1

a = cars.zip(rate) 
Foo.find(1).update_attributes(bar: Hash[a]) 

またはあなたには、いくつかの列挙子を必要とする場合

cars.zip(rate).each_slice(2) { |x| Foo.find(1).update_attributes(bar: Hash[x]) } 
関連する問題