Ruby key&值?

时间:2012-04-10 21:46:19

标签: ruby-on-rails ruby

我正在使用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)

1 个答案:

答案 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