28

首先,我创建了一个 active_admin css 文件作为app/assets/stylesheets/active_admin.css.scss

/* active_admin.css.scss */
@import "active_admin/mixins";
@import "active_admin/base";

/* application.css.scss*/
@import "active_admin.css.scss"

所以我有很多我的 css 被覆盖,我按照这篇文章的说明进行操作,但仍然无法正常工作。我将文件位置从 更改为app/assets/stylesheets/active_admin.css.scssvendor/assets/stylesheets/active_admin.css.scss但仍然有问题。

那么,如何仅在需要时加载 activeadmin css 文件?

4

6 回答 6

77

根据 seanlinsley 对选定答案和内森答案的评论,在我看来,“最干净”的方式确实是active_admin.css.scss从移动app/assets/stylesheets/vendor/assets/stylesheets/.

无需任何其他(配置)修改:“主”应用程序的样式恢复正常,AA 显示也正常。

(我不想手动包含我的每个资源而不是 require_tree ...!)

这就是 AA 进入的方式:AA(仍然)就此事公开问题

于 2014-05-27T13:23:28.290 回答
23

For active_admin to play nice don't include it in the application.css, i.e.: remove the

require_tree .

and require each file separately inside app/assets/stylesheets but don't put active_admin.css

and on config/production.rb put this

config.assets.precompile += ['active_admin.css']
于 2013-10-10T19:45:56.477 回答
14

对我有用的(Rails 5)是在我的 app/assets/stylesheets/application.css 行之后添加以下*= require_self行:

*= stub "active_admin"
于 2017-05-17T00:19:56.293 回答
3

从你的 app/assets/stylehseets/application.css.sass 中删除这一行

*= require_tree ../../../vendor/assets/stylesheets/

将 active_admin.css.scss 移动到 vendor/assets/stylesheets/

于 2014-04-09T03:59:29.163 回答
2

这是解决此问题的链接。我正在重新发布一个我发现非常有用的现有答案,因为它还解决了 js 问题。再次不是我的答案。

https://github.com/activeadmin/activeadmin/issues/3819#issuecomment-351377822

arif362 于 2017 年 12 月 13 日发表评论

我遇到了同样的问题,我在下面解决了这个问题:

首先,您必须在供应商目录中创建一个名为 assets 的目录,

然后在 vendor 文件夹的 assets 目录中,您必须创建两个目录 (i) 样式表,第二个是 (ii) javascripts。

之后,您必须将 active_admin.scss 文件从assets/stylesheetstovendor/assets/stylesheetsactive_admin.js.coffee文件从assets/javascriptsto vendor/assets/javascripts

最后,重新启动您的 Rails 服务器,然后重新加载您的应用程序。希望这对你有用。

于 2019-01-04T18:12:32.650 回答
1

这篇文章已经很老了,所以我认为将我最近的发现包含在 Rails 的更新版本(6.1.4)中是值得的。

active_admin.css.scss到也app/assets/stylesheets/vendor/assets/stylesheets/我工作。

使用 Rails6.1.4

于 2021-09-16T05:20:30.990 回答