2012-04-10 56 views
0

我正在使用紅寶石密鑰&值字段來保存jquery函數到數據庫和一切工作正常,但我怎麼能分開值params?Ruby key&Value?

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)) 

在我的幫助文件。

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

我怎樣才能在價值分開2個PARAMS,使我的代碼看起來像

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

回答

1

你基本上保存數組settings.value,並用它所有的url字符串中。

無論是單獨設置成單獨的值,或使用單獨的每個元素:

"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 2012-04-10 22:09:55

+0

@coletrain更新;錯過了它是一個AR領域。 – 2012-04-10 22:32:55

相關問題