我正在使用ruby key& value字段将jquery函数保存到数据库中,一切正常但是如何分隔值params?
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个参数分开,以便我的代码看起来像
background: rgb(76, 72, 128) url(../assets/stripes.png)
答案 0 :(得分:1)
您基本上将数组保存到settings.value
,并在url
字符串中使用它。
将设置分成单个值,或单独使用每个元素:
"url(#{settings.value[0]}) #{settings.value[1]}"
编辑啊,这是一个AR字段 - 因此很可能只保存为数组的字符串rep。很容易检查,你应该已经。
您需要以实际需要的格式保存它 - 所以:
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