3

我已经启动了一个 Rails 项目并在其中实现了 bootstrap-sass。不久之后,我找到了一个使用不同版本的 twitter bootstrap 的主题/模板。我已将模板添加到应用程序中,但视图未按预期完美对齐。然后,我将主题/模板附带的特定资产添加到我的项目中(例如 jquery 版本、另一个较旧的引导程序版本),结果几乎是完美的。但是,仍然存在一些对齐问题。当我检查 CSS 时,我可以看到这是由于两个版本的引导程序之间的冲突而发生的。

我想我应该这样做,以便这个模板只使用它附带的 twitter bootstrap 版本。如果是这样,我该怎么做?我怎样才能让rails视图只使用某个css样式表而不是从其他人那里读取?

(如果这不是最好的解决方案,我应该考虑哪些替代方案?)

谢谢

4

2 回答 2

5

试试这个:

1)使用 2 个布局(application.html.erb 和 new_application.html.erb)2)有两个主 javascript/css 文件(application.js 和 new_application.js,application.css 和 new_application.css)3)在您的应用程序中。 html.erb 包括第一个 application.js 和 application.css,在您的第二个布局中,导入新的应用程序 js 和 css 4) 对于页面的特定部分,在控件上从您想要的任何布局的右父控制器继承.

class NewBootstrapController < ActionController::Base
  layout 'new_application'
end

class OldBootstrapController < ActionController::Base
  layout 'application'
end
于 2012-10-12T20:32:00.470 回答
0

最佳实践是尝试将您的项目视为由“组件”而不是页面组成。因此,请专注于使您的组件的样式保持最新和一致。

因此,与其为单个页面编码(即使是小型(ish)项目也难以扩展且难以维护),而是寻找将元素转换为可重用组件的方法。默认情况下,Bootstrap 是这种方式,因此如果您使用的某些组件比其他组件多,请将这些组件作为重构的优先级,然后在您的页面中寻找重复模式,并尝试考虑如何创建语义化、基于组件的类来描述它们。

而不是这个:

.sidebar-home {}

试试这个:

.sidebar-narrow {} // or whatever describes your element

这里的操作要点是,如果您的工作超出这个项目,养成将 CSS/HTML 视为由组件组成的良好习惯,您将能够重用代码并更快地识别模式你的用户界面。

于 2012-10-13T11:30:31.190 回答