0

我正在使用 ruby​​ 键和值字段将 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))

在我的帮助文件中。

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

1 回答 1

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
于 2012-04-10T21:49:15.747 回答