3
我有一个基于Rails 3.0的应用程序。这是一个预测应用程序,我需要在不同的点差上使用不同的CSS规则集,因为我使用具有不同规则的相同选择器。Rails资产管道与条件CSS文件
以前在rails 3.0中,我有一个很好的解决方案。
我在我的数据库中有一列有CSS文件的名称(没有扩展名)。
我拿起这个数据是这样的:
@spread = Spread.find_by_id(params[:spread_id]) @css_to_use = @spread.css_to_use
将有条件线在我application.html.erb:
<%= stylesheet_link_tag @css_to_use unless @css_to_use.blank? %>
这个工作很好,直到如今。我正在为Rails 3.2开发这个应用程序,并且因为资产管道,这个魔法已经消失了。
我发现这个: Using Rails 3.1 assets pipeline to conditionally use certain css,但这是一个有点缓慢的解决方案(现在正是我想要的)。
有没有一个很好的解决这个问题?你知道一个解决方案,不仅能够加载指定的文件,而且还具有依赖性吗?
据我所知,这个解决方案只处理一个CSS文件的分离。这无法处理动态处理的CSS加载。或者我错过了什么? – Kael 2012-07-31 14:42:09
不,您可以将任意文件放入某些文件夹并根据数据库中的密钥加载它们。那是我以为你想要做的。也许你需要澄清你到底想要达到什么...... – phoet 2012-07-31 17:58:20
你说得对。但链接标记的HAML视图和配置资源的active_admin部分驱使我误解。而且你忘记了一个重要的部分。我必须从application.css中删除这行:* = require_tree。我用它来使它在视图上工作:<%= stylesheet_link_tag“subsheets /#{@ css_to_use}”除非@ css_to_use.blank? %> 请为后面的读者使用application.css编辑您的文章。谢谢。 – Kael 2012-08-01 10:48:57