CSS文件中的Rails变量
我有CSS文件,需要由用户嵌入。现在,为了让用户根据自己的意愿定制CSS文件(主要更改颜色和字体大小),我必须将该信息存储在数据库文件中,将该信息附加到特定的CSS文件中,然后让该用户能够嵌入它 我将获得我希望更改的用户的id。所以存储的色码基本上是从CSS文件中的Rails变量,css,ruby-on-rails,ruby,activerecord,asset-pipeline,Css,Ruby On Rails,Ruby,Activerecord,Asset Pipeline,我有CSS文件,需要由用户嵌入。现在,为了让用户根据自己的意愿定制CSS文件(主要更改颜色和字体大小),我必须将该信息存储在数据库文件中,将该信息附加到特定的CSS文件中,然后让该用户能够嵌入它 我将获得我希望更改的用户的id。所以存储的色码基本上是从 User.find(params[:id]).main_color # This would return => #fffff 这就是我的嵌入代码现在的样子 <link href="link.com/initial.css" t
User.find(params[:id]).main_color
# This would return => #fffff
这就是我的嵌入代码现在的样子
<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 cstomizable符合用户的需要
提前谢谢
另外,我曾想过在视图(.html.erb文件)中重写CSS并使用!重要的是,还有用户选择的正确颜色代码,但这种方法并不十分有效。我认为最好的方法是将脚本文件保存在服务器端,以便您可以根据用户数据库选项轻松修改脚本 例如: 在routs.rb中放置新路线
post '/users/modify_style', :to => 'users#modify_style', :as => modify_style
然后允许路由通过JavaScript文件响应用户,例如,如果用户需要使用按钮或链接更改HTML模板的主颜色;因此,模板中的表单按钮可能如下所示:
<%= button_to 'apply style', modify_style_path, :data => {:user_id => current_user.id}, :remote => true %>
在js文件中:
$('#some_element_id_to_change_color_for').css('color', '<%= @main_color %>')
$('some#u element_id_to_change_color_for').css('color','')
或者,您可以将
modify_style
操作代码直接添加到原始操作中,一旦页面加载,该操作会将页面加载到appy用户样式中。我建议您在erb文件中直接使用它,类似于
my.html.erb
<html>
<!-- my html -- >
</html>
<style>
<%= my_css.html_safe %>
</style>
$('#some_element_id_to_change_color_for').css('color', '<%= @main_color %>')
<html>
<!-- my html -- >
</html>
<style>
<%= my_css.html_safe %>
</style>