Rails 3.1 - 如何在普通应用程序和active_admin gem之间分离CSS / JS

时间:2011-10-24 04:43:28

标签: ruby-on-rails-3.1 asset-pipeline

我的应用程序部署在Rails 3.1和Heroku上。

1。在production.rb中,如果我只有config.assets.compile = true,那么active_admin可以正常工作。但是,在生产中,我希望config.assets.compile = false用于普通的应用程序CSS和JS。活动管理模块将仅由管理员使用,因此速度很慢。

2。此外,由于我安装了active_admin gem,我的普通CSS受到了极大的干扰。

因此,我想以某种方式拆分active_admin和普通应用程序的CSS和JS,以便:

1。只有当我点击localhost:3000/admin时,主动管理员点击的CSS和JS以及普通应用程序的点击量才会没有。当我在任何其他URL时,正常应用程序的CSS和JS命中,但活动管理员没有。

2。我可以config.assets.compile = false正常的应用CSS和JS,同时对于active_admin单独使用config.assets.compile = true。

这可能吗?

1 个答案:

答案 0 :(得分:6)

好消息是你可以将.compile设置为false,并且两者都运行得很快!

Active admin使用自己的以'active_admin'开头的清单。默认情况下,这些不会被Rails预编译。

要预先编译它们,您需要将这些文件添加到production.rb中的预编译数组中:

config.assets.precompile += ['active_admin.js', 'active_admin.css']

这将在/ assets文件夹中创建文件,并允许您始终将.compile设置为false。

别忘了也设置:

config.assets.digest = true