我正在尝试在我的Rails应用上安装Bootstrap 3.0。我最近完成了Michael Hartl的教程,现在正在尝试使用这个新版本的Bootstrap构建我自己的系统,但是我有一些我不确定的问题。
我的系统规格:
我的问题:
custom.css.scss
上导入什么内容?我读到的地方与2.3.2不同。修改
以下是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'
他们做同样的事情,还是你必须做两件事?
答案 0 :(得分:271)
实际上你不需要gem,这是在RoR中安装Bootstrap 3的步骤
Download Bootstrap
复制:
bootstrap-dist/css/bootstrap.css
和bootstrap-dist/css/bootstrap.min.css
收件人:vendor/assets/stylesheets
复制强>
bootstrap-dist/js/bootstrap.js
和bootstrap-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)
众所周知,不需要宝石。
采取的步骤:
复制
bootstrap/dist/css/bootstrap.css
bootstrap/dist/css/bootstrap.min.css
至:app/assets/stylesheets
复制
bootstrap/dist/js/bootstrap.js
bootstrap/dist/js/bootstrap.min.js
至:app/assets/javascripts
附加至:app/assets/stylesheets/application.css
* =需要bootstrap
附加至:app/assets/javascripts/application.js
// =需要bootstrap
就是这样。您已准备好添加新的酷炫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。
Using Bootstrap 3 with Rails 4 - 将Bootstrap 3文件复制到应用程序的供应商目录中。
Adding Bootstrap from a CDN to your Rails application - Bootstrap 3文件由Bootstrap CDN提供。
以上数字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
并重新启动服务器以通过管道提供文件。
答案 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中添加了引导程序!