首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CSS文件中的Rails变量

CSS文件中的Rails变量
EN

Stack Overflow用户
提问于 2018-06-05 06:53:37
回答 2查看 382关注 0票数 0

我有CSS文件,需要由用户嵌入。现在,为了让用户按照自己的意愿定制CSS文件(主要是更改颜色和字体大小),我必须将该信息存储在数据库文件中,将该信息附加到特定的CSS文件中,然后使该用户能够嵌入该文件。

我将获得我想要更改的用户的id。所以存储的颜色代码基本上是从,

代码语言:javascript
复制
User.find(params[:id]).main_color 
# This would return => #fffff 

这是我的嵌入代码现在的样子,

代码语言:javascript
复制
<link href="link.com/initial.css" type="text/css" rel="stylesheet" /> 
<script type="text/javascript" data-user="18" src="link.com/some_file.js" />

这里的data-user是修改CSS文件的用户的id。(使用javascript文件嵌入IFrame )

我应该如何修改我的嵌入代码并从我的数据库中获取自定义变量,以使CSS可根据用户的需要进行自定义?

提前谢谢。

附言:我曾想过在视图(.html.erb文件)中重写CSS,并使用!important以及用户选择的正确的颜色代码,但这种方法并不是非常有效。

EN

回答 2

Stack Overflow用户

发布于 2018-06-05 08:43:47

我认为最好的方法是将脚本文件保存在服务器端,这样您就可以根据用户数据库选项轻松地修改脚本

例如:

在routs.rb中放置新路由

代码语言:javascript
复制
post '/users/modify_style', :to => 'users#modify_style', :as => modify_style

然后允许路由通过JavaScript文件响应用户,例如,如果用户需要使用按钮或链接更改HTML模板的主颜色,则模板中的表单按钮可能如下所示:

代码语言:javascript
复制
<%= button_to 'apply style', modify_style_path, :data => {:user_id => current_user.id}, :remote => true %> 

代码语言:javascript
复制
<%= link_to 'apply style', modify_style_path(:user_id => current_user.id), :method => :post, :remote => true %>

因此,remote: true选项将允许通过AJAX发送数据到服务器,而无需刷新页面。

在users_controller.rb

代码语言:javascript
复制
def modify_style 
    user = User.find(params[:user_id])
    @main_color = user.main_color
    respond_to do |format|
       format.js { render  'some_file.js.erb' }
    end

end 

在您的js文件中:

代码语言:javascript
复制
$('#some_element_id_to_change_color_for').css('color', '<%= @main_color %>')

或者,您可以直接将modify_style操作代码添加到原始操作中,该操作会在页面加载后将页面加载到appy用户样式。

票数 0
EN

Stack Overflow用户

发布于 2018-06-05 12:47:56

我建议您直接在erb文件中使用它,例如

my.html.erb

代码语言:javascript
复制
<html>
<!-- my html -- >
</html>

<style>
 <%= my_css.html_safe %>
</style>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50689835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档