是否有" Rails方式"将Twitter Bootstrap主题折叠到Rails 3应用程序中?

时间:2012-09-14 15:44:49

标签: ruby-on-rails twitter-bootstrap ruby-on-rails-3.2 asset-pipeline

我在网上购买了一个漂亮的Twitter Bootstrap,这将为我的Rails 3.2.8应用程序增添趣味。该软件包包含以下目录:

/css
/img
/js

当然这些文件中会有相对的链接。是否有将这种类型的东西整合到资产管道中的标准方法,还是将其公开的标准做法?

1 个答案:

答案 0 :(得分:11)

您需要使用资产管道。一切都在向这个方向发展,而且实际上并没有任何困难(除非是这样)。您的文件将放在/app/assets/目录中。

对于css,您应该能够将其直接放入app/assets/stylesheets/,只需确保首先包含引导程序。有几个宝石可以很容易地包含bootstrap的文件。我使用bootstrap-sass,但您也可以尝试twitter-bootstrap-rails(取决于您是否需要sass支持)。使用其中任何一个,查看我链接的自述文件,因为它们包含了一些您希望了解每个gem的有用详细信息。

对于javascript,它应该是一回事。在您的application.js文件中,如果主题添加了任何自定义JavaScript,请确保引导包含之前 //= require_tree .。我之前列出的两个宝石还包括bootstrap的javascript文件。您可以阅读他们的文档以查看详细信息(这两个宝石几乎完全相同)。

就图像而言,将它们放在app/assets/images/目录中,您必须稍微更改样式表才能使其正常工作。在样式表中声明图像时,如background: url('./images/bg.jpg');,您需要使用image_path帮助程序,因此它看起来像background: url(image_path('bg.jpg'));。请注意,我刚刚包含了图像的名称。资产管道会自动将其解析为正确的路径。

如果主题包含任何自定义字体,除了在@ font-face声明中使用asset_path帮助器之外,您将执行与图像相同的操作:

url(asset-path('museo700.ttf', font));

您还可以使用特定于类型的帮助程序,例如font-pathimage-path等。声明类型的asset-path或特定于类型的帮助程序都可以使用,只需与你使用的那个一致,以免产生混淆。

您可以将自定义字体放在类似app/assets/fonts/的目录中。资产管道将自动找到它们,因为它们位于资产目录中。