我有一个应用程序,允许用户为他们的页面选择一个主题。有几个不同的主题供他们选择。
每个页面的 HTML 结构与 div 上的相同类名完全相同。CSS 因主题而异。当用户选择一个主题时,我将主题 id 存储在数据库中,并在访问页面时对其进行查询,并在以下位置加载适当的 CSS 文件application_layout.html.erb
:
<%= yield(:theme_style) %>
在 上users_page.html.erb
,我使用以下命令获取适当的文件:
<%= provide(:theme_style, "theme_styles/#{@user.style.style_filename_file_name}") %>
因为页面结构没有改变,所以不要将 CSS 文件一起编译到一个大的 CSS 文件中,否则最后一个主题将是唯一可用的主题,因为它将覆盖所有以前的样式,这一点很重要。如何让 Rails 处理主题文件?
在production.rb
,我有,config.assets.precompile += ['theme_styles/basic.css', 'theme_styles/two-column.css']
但这似乎并没有起到作用,因为它告诉我它没有预编译。
我似乎无法在任何地方找到足够的信息来让我朝着正确的方向前进,我查看了博客、SO 问题和 Rails 文档。