在Rails App上安装Bootstrap 3

时间:2013-08-22 03:43:55

标签: ruby-on-rails ruby twitter-bootstrap-3

我正在尝试在我的Rails应用上安装Bootstrap 3.0。我最近完成了Michael Hartl的教程,现在正在尝试使用这个新版本的Bootstrap构建我自己的系统,但是我有一些我不确定的问题。

我的系统规格:

  • MBP上的OS X Mountain Lion
  • Rails 4.0
  • Ruby 2.0

我的问题:

  1. 我的Gemfile中使用的最佳宝石是什么?我找到了一些。
  2. 我在custom.css.scss上导入什么内容?我读到的地方与2.3.2不同。
  3. 我还有什么办法让Bootstrap工作,或者其余的步骤与我为Bootstrap 2.3.2所遵循的步骤相同吗?
  4. 修改

    以下是bootstrap-rails project on GitHub首先要说的内容:

    gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails',
                                  :github => 'anjlab/bootstrap-rails'
    

    然后它说要做:

    gem 'anjlab-bootstrap-rails', '>= 3.0.0.0', :require => 'bootstrap-rails'
    

    他们做同样的事情,还是你必须做两件事?

10 个答案:

答案 0 :(得分:271)

实际上你不需要gem,这是在RoR中安装Bootstrap 3的步骤

  • Download Bootstrap

  • 复制:

    bootstrap-dist/css/bootstrap.cssbootstrap-dist/css/bootstrap.min.css

    收件人:vendor/assets/stylesheets

  • 复制

    bootstrap-dist/js/bootstrap.jsbootstrap-dist/js/bootstrap.min.js

    收件人:vendor/assets/javascripts

  • 更新: app/assets/stylesheets/application.css添加:

    *= require bootstrap.min
    
  • 更新: app/assets/javascripts/application.js添加:

    //= require bootstrap.min
    

有了这个,你可以随时更新bootstrap,不需要等待gem更新。此外,资产管道也将在生产中使用缩小版本。

答案 1 :(得分:62)

众所周知,不需要宝石。

采取的步骤:

  1. 下载Bootstrap
  2. 复制

    bootstrap/dist/css/bootstrap.css
    bootstrap/dist/css/bootstrap.min.css 
    

    至:app/assets/stylesheets

  3. 复制

    bootstrap/dist/js/bootstrap.js
    bootstrap/dist/js/bootstrap.min.js 
    

    至:app/assets/javascripts

  4. 附加至:app/assets/stylesheets/application.css

      

    * =需要bootstrap

  5. 附加至:app/assets/javascripts/application.js

      

    // =需要bootstrap

  6. 就是这样。您已准备好添加新的酷炫Bootstrap模板。


    为什么app/代替vendor/

    将文件添加到 app / assets 非常重要,以便将来您可以覆盖Bootstrap样式。

    如果以后要添加带有自定义样式的custom.css.scss文件。你会在application.css中找到类似的内容:

     *= require bootstrap                                                            
     *= require custom  
    

    如果您将引导文件放在 app / assets 中,则一切都按预期工作。但是,如果您将它们放在 vendor / assets 中,则最后会加载Bootstrap文件。像这样:

    <link href="/assets/custom.css?body=1" media="screen" rel="stylesheet">
    <link href="/assets/bootstrap.css?body=1" media="screen" rel="stylesheet">
    

    因此,您的某些自定义将不会被使用,因为Bootstrap样式将覆盖它们。

    背后的原因

    Rails将在许多地方搜索资产;要获取这些位置的列表,您可以执行此操作:

    $ rails console
    > Rails.application.config.assets.paths
    

    在输出中,您会看到 app / assets 优先,因此首先加载它。

答案 2 :(得分:35)

这个答案适合那些希望在不使用gem的情况下在Rails应用程序中安装Bootstrap 3的人。有两种简单的方法可以在不到10分钟的时间内完成。选择最符合您需求的产品。 Glyphicons和Javascript工作,我也测试了它们的最新测试版Rails 4.1.0。

  1. Using Bootstrap 3 with Rails 4 - 将Bootstrap 3文件复制到应用程序的供应商目录中。

  2. Adding Bootstrap from a CDN to your Rails application - Bootstrap 3文件由Bootstrap CDN提供。

  3. 以上数字2是最灵活的。您需要做的就是更改布局助手中存储的版本号。因此,您可以运行您选择的Bootstrap版本,无论是3.0.0,3.0.3还是更旧的Bootstrap 2版本。

答案 3 :(得分:22)

Twitter现在有一个包含gem的sass-ready version of bootstrap,因此将它添加到Rails比以往更容易。

只需在gemfile中添加以下内容:

gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2
gem 'bootstrap-sass', '~> 3.1.1'

bundle install并重新启动服务器以通过管道提供文件。

还支持指南针和仅限sass:https://github.com/twbs/bootstrap-sass

答案 4 :(得分:11)

我使用https://github.com/yabawock/bootstrap-sass-rails

这是非常简单的安装,快速的宝石更新和后续跟踪以及快速修复以防万一。

答案 5 :(得分:5)

gem bootstrap-sass

bootstrap-sass很容易通过资产管道进入Rails。

在Gemfile中,您需要添加bootstrap-sass gem,并确保存在sass-rails gem - 默认情况下它会添加到新的Rails应用程序中。

gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2 gem 'bootstrap-sass', '~> 3.0.3.0'

bundle install并重新启动服务器以通过管道提供文件。

来源:http://rubydoc.info/gems/bootstrap-sass/3.0.3.0/frames

答案 6 :(得分:3)

使用此分支有望解决问题:

gem 'twitter-bootstrap-rails',
  git: 'git://github.com/seyhunak/twitter-bootstrap-rails.git',
  branch: 'bootstrap3'

答案 7 :(得分:3)

对我来说,最简单的方法是

1)下载引导程并将其解压缩到vendor

2)将引导路径添加到配置

config.assets.paths << Rails.root.join("vendor/bootstrap-3.3.6-dist")

3)要求他们

在css *= require css/bootstrap

在js //= require js/bootstrap

完成!

此方法使字体加载时不需要任何其他特殊配置,也不需要将引导程序文件移出其自包含目录。

答案 8 :(得分:1)

我认为新引导版本的最新gem是anjlab格式。

但我不知道当你执行rails generate simple_form:install --bootstrap时,它是否适用于其他gem如simple_form,等等。你可能需要编辑一些初始化器或配置以适应新的bootstrap版本。

答案 9 :(得分:0)

实际上,我有一个简单的解决方法,其中我几乎全神贯注于如何使其工作。哈哈!

好吧,首先我下载了​​Bootstrap(已编译的CSS和js版本)。

然后我将所有引导css文件粘贴到app/assets/stylesheets/

然后我将所有引导js文件粘贴到app/assets/javascripts/

我重新加载了页面和Wallah!我刚刚在RoR中添加了引导程序!