我正在安装bootstrap-sass gem,我需要将Bootstrap导入application.css.scss,如:
@import "bootstrap";
但我在我的assets / stylesheets文件夹中找不到它。我只是创造它吗?我的Rails应用程序会加载此文件吗?
我确实安装了sass-rails:
gem 'sass-rails', '~> 4.0.0'
我把它放在我的styles.css.scss:
中@import 'bootstrap';
@import 'bootstrap/responsive';
的Gemfile:
group :assets do
gem 'bootstrap-sass', '~> 2.3.2.0'
end
非常感谢任何帮助。
答案 0 :(得分:2)
重新发表评论的答案。
默认情况下,即使包含sass-rails,application.css.scss也不会出现在rails app中。您可以删除application.css并创建applicaiton.css.scss并使用它。
同样在rails 3中,在资产组内声明的任何gem都将仅包含在开发和测试环境中。
rails.3中的application.rb。
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
application.rb in rails 4。
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)
尝试将gem声明移出资产组,它应该可以正常工作。
答案 1 :(得分:1)
从Rails 3.1开始,新的Rails项目已经配置为使用Sass(所以如果你使用的是3.1,则不需要添加那个gem)。如果要升级到Rails 3.1,则需要将以下内容添加到Gemfile中。
您可以在stylesheets文件夹中创建它,并为其添加以下行。
/* ...
*= require_self
*= require_tree .
*/
然后在您的视图中添加
<%= stylesheet_link_tag "application", :media => "all" %>
另请确保您关注此guide
尝试将“bootstrap-sass”的require语句添加到config.ru文件中。正在运行的config.ru如下所示。
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
require 'bootstrap-sass' #require statement of bootstrap-sass
run Rails.application