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

发布于 2024-12-11 16:14:45 字数 682 浏览 0 评论 0原文

我的应用程序部署在 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 时,才显示 active_admin 的 CSS 和 JS管理员点击,而普通应用程序则不会。当我在任何其他 URL 上时,正常应用程序的 CSS 和 JS 会点击,但活动管理员不会点击。

2.我可以config.assets.compile = false到普通应用程序CSS和JS,同时单独为active_admin设置config.assets.compile = true。

这可能吗?

My application is deployed on Rails 3.1 and on Heroku.

1. In production.rb, if I have config.assets.compile = true only then active_admin works. However, in production, I want config.assets.compile = false for normal application CSS and JS. The active admin module will be used only by administrator so it can be slow.

2. Moreover, since I installed active_admin gem my normal CSS has got terribly disturbed.

Hence, I want to somehow split the CSS and JS of active_admin and normal application so that:

1. Only when I hit localhost:3000/admin then CSS and JS of active admin hits and that of normal app does not. When I am on any other URL, then CSS and JS of normal app hits but active admin's does not.

2. I can config.assets.compile = false to normal app CSS and JS while make it config.assets.compile = true for active_admin alone.

Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉生梦死 2024-12-18 16:14:45

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

活动管理使用自己的以“active_admin”开头的清单。默认情况下,Rails 不会预编译它们。

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

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

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

不要忘记还设置:


config.assets.digest = true

The good news is that you can have .compile set to false for both, and have both run fast!

Active admin uses its own manifests that start with 'active_admin'. By default these won't be precompiled by Rails.

To get them precompiled you need to add these files to the precompile array in production.rb:

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

This will create the files in the /assets folder and allow you to set .compile to false all the time.

Don't forget to also set:


config.assets.digest = true

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文