Rails Active Admin css conflicting with Twitter Bootstrap cs



我对 Rails 资源管道有点陌生,所以我可能做错了什么。我正在尝试为我的后端使用 Active Admin,为我的前端应用程序使用 Twitter 引导 css。

我将引导程序.css添加到 /app/assets/stylesheet,然后还添加了:

//= require bootstrap

到应用程序.css - 然后我在本地对资产进行了预编译

它似乎工作正常,但某些样式并不完全通过,我认为这是因为活动管理员的 css 覆盖了它。

我的理解是,应用程序将 css 资产编译为应用程序 css 公共资产,应用程序在运行时使用该文件。

我需要以某种方式将两者分开,并使其使用twitter bootstrap css作为前端的主要css,并可能告诉它不要在前端使用活动管理员的css文件。

最好的方法是什么?

我遇到了同样的问题,并且能够通过移动来修复它

app/assets/stylesheets/active_admin.css.scss

vendor/assets/stylesheets/active_admin.css.scss

活动管理资产vendor/如 rails 指南中所述:

"供应商/资产适用于外部实体拥有的资产,例如JavaScript插件和CSS框架的代码。

你看过关于使用 ActiveAdmin 的 RailsCasts 视频吗?在视频中,Ryan向您展示了如何防止ActiveAdmin CSS踩到您的主应用程序CSS。

http://railscasts.com/episodes/284-active-admin

将信息从视频移动到答案

在应用程序中.css您可以删除:

*= require_tree .

对于 rails 4,Jiten K 建议将其添加到 production.rb 中:

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

但是,对该SO答案的评论之一说这是不需要的。到目前为止,我还没有需要它。

对我来说,

application.css更改为以下内容可以解决问题:

 *= require bootstrap
 *= require_tree .
 *= stub "active_admin"