【问题标题】:Ruby on Rails change background colour in CSS according to databaseRuby on Rails 根据数据库更改 CSS 中的背景颜色
【发布时间】:2015-03-31 10:08:14
【问题描述】:

在我的 Ruby on Rails 应用程序中,我试图让用户选择他们的颜色并将其作为网站背景。

在我的架构中,我有这个首选项表:

create_table "perferences", force: :cascade do |t|
  t.integer  "user_id"
  t.integer  "category_id"
  t.datetime "created_at",  null: false
  t.datetime "updated_at",  null: false
  t.text     "colour"
end

CSS 背景颜色在下面一行:

body{line-height:1;height:100%;width:100%;color:#B2BFCB;background:#002952;text-align:center;font-family:"Apercu Regular", Calibri, sans-serif;font-weight:normal;font-style:normal;margin:0;padding:0;}

但我不确定如何根据数据库中的颜色更新颜色。

我已尝试点击此链接:http://blog.hasmanythrough.com/2007/10/18/simpler-than-dirt-restful-dynamic-css 但我得到了错误:undefined method formatted_colour_path for #<#<Class:0x6daa0a8>:0x6881b98>

在视图中:

在参数控制器中:

def show
   @colour = Perference.find_by(user_id: session[:user_id]).colour
   respond_to do |format|
        format.html
        format.css
   end
end

有人可以帮忙吗?我知道我需要从数据库中检索颜色,然后使用它来更新 CSS,但我不知道该怎么做。

【问题讨论】:

  • formatted_user_path(@user为什么会出现formatted_colour_path这个错误,你能多贴一些代码
  • 对不起,我应该添加进去,请查看更新后的问题

标签: css ruby-on-rails ruby database ruby-on-rails-3


【解决方案1】:

如果您尝试更改正文背景颜色,请尝试以下操作:

<body style="background-color: <%= @colour %>">

</body>

但这会给你带来一些后果,你需要更深入:)

这样会更好

<body style="background-color: <%= @colour if @colour %>" >

</body>

或者只是写一个助手。

【讨论】:

  • 当你说“后果”时,你的意思是我只需要验证它吗?
  • 是的。如果您将打开索引或任何其他没有他选择的用户和颜色的页面。我会更新答案。
【解决方案2】:

css 文件是固定的 - 你不能在里面放 ruby​​ 代码。另一种方法是在 application.html.erb 中内联:

  <body style="background-color:<%= current_user.preference.color">
  </body>

这当然假设用户总是加载在“current_user”变量中(您可以使用条件来处理“未登录”的情况)。

【讨论】:

  • 你能告诉我怎么做吗?我对 Ruby on Rails 还很陌生。
  • 这可能是我太厚了,但这给出了错误:undefined local variable or method 'current_user'
  • 您向我们展示了“用户偏好”表,但您如何登录您的用户?使用设计?
  • 我有一个单独的用户表,他们通过 bcrypt gem 登录
  • 以及如何在其中一个页面中正常访问用户首选项?
猜你喜欢
  • 2019-06-20
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
  • 2016-06-02
  • 2014-04-27
  • 2016-05-13
相关资源
最近更新 更多