2012-04-10 4 views
0

ルビキー&の値フィールドを使用してjquery関数をデータベースに保存しても問題ありませんが、値のパラメータをどのように分けることができますか?ルビーキー&バリュー?

def update_background 
    key = "#{current_user}.profile.background" 
    settings = Settings.find_by_key(key) || Settings.new(key: key) 
    settings.value = params[:bg_id], params[:color_id] 

    respond_to do |format| 
    format.json do 
     if settings.save 
     render text: "success" 
     else 
     render text: "failure" 
     end 
    end 
    end 
end 

上記のコードは正常に動作しますが、問題は私のCSSが正しくフォーマットされていないことです。コードは通常のように表示されます

background: url(../assets/stripes.png rgb(76, 72, 128)) 

私のヘルパーファイルにあります。私のコードは、あなたが基本的にsettings.valueに配列を保存し、url文字列の中でそれをすべて使用している

background: rgb(76, 72, 128) url(../assets/stripes.png) 

答えて

1

のようになりますように、私は価値の2つのparamsを分離することができますどのように

def saved_background 
    key = "#{current_user}.profile.background" 
    settings = Settings.find_by_key(key) 
    if settings 
    "url(#{settings.value})" 
    end 
end 

個々の値に設定別の、または個別に各要素を使用するか:

"url(#{settings.value[0]}) #{settings.value[1]}" 

編集ああ、それはAR分野だ - それは可能性が高いの単なる文字列の担当者として保存されています配列。簡単にチェックして、あなたはすでに持っているはずです。

あなたは、あなたが実際にそれをしたい形式で保存する必要がある - そう:

settings.value = "url(#{params[:bg_id]}) #{params[:color_id]}" 

そして:配列のインデックス番号を取り外すとき

def saved_background 
    key = "#{current_user}.profile.background" 
    settings = Settings.find_by_key(key) 
    settings.value if settings 
end 
+0

は、上記の方法を使用した場合の出力値をしませんが、私は価値を見ることができます。その他の提案はありますか? – coletrain

+0

@coletrain更新;それがAR分野だったのを逃した。 –

関連する問題