【问题标题】:Bootstrap not working for Rails 4.2.4 application in developmentBootstrap 不适用于开发中的 Rails 4.2.4 应用程序
【发布时间】:2015-12-31 22:56:49
【问题描述】:

我是 Ruby on Rails 的新手(我来自 .NET 背景),如果我解释得不够清楚或没有包含所有需要的信息,请多多包涵。

所以我正在构建这个新的 Rails 应用程序,我安装了 twitter-bootstrap-rails gem,做了rails g bootstrap:install,创建了所有内容,现在我只是尝试开始修改视图。问题是 Bootstrap 没有被识别。

这是我的 application.html.erb 的样子:

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
  <%= stylesheet_link_tag    "application", media: 'all' %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<div class="container">
    <div class="row">
        <div class="span9"><%= yield %></div>
        <div class="span3">
            <h2>About Us</h2>
            Test text.
        </div>
    </div>
</div>

这是我的 Gemfile:

source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.4'
# Use mysql as the database for Active Record
gem 'mysql2', '0.3.20'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
gem 'coffee-script-source', '1.8.0'
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

gem 'twitter-bootstrap-rails'

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

仅供参考,我有一个 assets/stylesheets/bootstrap_and_overrides.css.less 文件。

所以我的问题是,我的 application.html.erb 中的任何 Bootstrap CSS 都没有被识别。我还有一个只包含文本的主页,该页面正在显示,但没有使用 application.html.erb 中的“关于我们”正确格式化。

这是包含的样式表/js(来自源代码):

<head>
  <title>Test</title>
  <link rel="stylesheet" media="all" href="/assets/home.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" />
<link rel="stylesheet" media="all" href="/assets/application.self-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css?body=1" />
  <script src="/assets/jquery.self-a714331225dda820228db323939889f149aec0127aeb06255646b616ba1ca419.js?body=1"></script>
<script src="/assets/jquery_ujs.self-d456baa54c1fa6be2ec3711f0a72ddf7a5b2f34a6b4f515f33767d6207b7d4b3.js?body=1"></script>
<script src="/assets/twitter/bootstrap/transition.self-db278e3a8fa6249c16796b113ebd29e11ef4e2cd021618ed84895d524a4511e0.js?body=1"></script>
<script src="/assets/twitter/bootstrap/alert.self-ebce91ec66c71bcee451ea7da9128fd1bf8faa02c6d22ea04c598423431e4c08.js?body=1"></script>
<script src="/assets/twitter/bootstrap/modal.self-ab1767545e27c0dbd36971e656ae4927171f673e3d932cdec2cbef39e991952b.js?body=1"></script>
<script src="/assets/twitter/bootstrap/dropdown.self-8bb9309b6c24a4ba6b94026a049d25b13bdc0553b6fe83255c14a715ba624cc4.js?body=1"></script>
<script src="/assets/twitter/bootstrap/scrollspy.self-bd0c6724cdc75302fe98dfeff923112b76c1673cf4a0752a7050b7feea15594c.js?body=1"></script>
<script src="/assets/twitter/bootstrap/tab.self-7e3ee4a243bb416b5f0111a0be08f8547c5d72ba71fe4afe4a4a007f5cb4e10e.js?body=1"></script>
<script src="/assets/twitter/bootstrap/tooltip.self-d7f9330825307d053f68da11bb9ddc9b070df72deef3d115f2f3d55f66b17457.js?body=1"></script>
<script src="/assets/twitter/bootstrap/popover.self-cd672ecad3b549e1dbd89bfd044e5812d6fdade56f42d48e3acee0c3f4614526.js?body=1"></script>
<script src="/assets/twitter/bootstrap/button.self-ceb562de883e04359bb2c06f07bdf6ecf065cc8a5027e2e58857c5e91b0b68e3.js?body=1"></script>
<script src="/assets/twitter/bootstrap/collapse.self-a87553101c955a01e2e8c81fad69a16582ddbf58fe95d5eb335dde5567af7647.js?body=1"></script>
<script src="/assets/twitter/bootstrap/carousel.self-5d09995e01b647168888180d40e271f9a6759d68ae7ac029d7026af58813d376.js?body=1"></script>
<script src="/assets/twitter/bootstrap/affix.self-14e04bbe71282aa039322ab93e3a3a886ddede5f59a2f365f7c861f697bbeb21.js?body=1"></script>
<script src="/assets/twitter/bootstrap.self-fbfa5ad7d9aa0afe439ec4ff3883acc4cb92b62cb67c40d674320c9aa1d4642d.js?body=1"></script>
<script src="/assets/turbolinks.self-6fb86ff58d930b560704818c7d9e5f60d83d65b91c6778c7f7e4210d5ba82127.js?body=1"></script>
<script src="/assets/bootstrap.self-fdc98dee79ee88255e10cac6caa91338165cb76cf0d263744d8d90011fc2ef8f.js?body=1"></script>
<script src="/assets/home.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1"></script>
<script src="/assets/application.self-f8806224e027f3e3f0138ea9ce99319e298dfdb323304d1f1be6eae8e8c74724.js?body=1"></script>
  <meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="Ty+Ax9V57UdwKpxEvS0+AubRWPpLN2m4bOgBPAFBFu5FXDGxcrTpulbWxAAROqczhy+cpckq7ltR9Tya91TC4g==" />
</head>

如果我需要提供任何其他信息来帮助调试此问题,请告诉我,我很乐意提供。

编辑 这是我的 application.css 文件:

*= require_tree .
 *= require_self
 *= require bootstrap_and_overrides

【问题讨论】:

  • 显示你的 application.css 文件
  • 如果你没有使用 gem less css。你可以使用rails generate bootstrap:install static。欲了解更多信息github.com/seyhunak/twitter-bootstrap-rails
  • 我使用了rails g bootstrap:install less,就像指南所说的那样。

标签: css ruby-on-rails ruby twitter-bootstrap ruby-on-rails-4


【解决方案1】:

一切看起来都已正确设置,但请注意 twitter-bootstrap-rails 与 Bootstrap 3.2 打包在一起。

.span9.span3 类在 Bootstrap 2.X 之后被弃用。试试这个:

<div class="container">
    <div class="row">
        <div class="col-xs-9"><%= yield %></div>
        <div class="col-xs-3">
            <h2>About Us</h2>
            Test text.
        </div>
    </div>
</div>

查看grids in Bootstrap 3 的参考资料。

【讨论】:

  • 感谢您的意见!对于我原来的问题,我发现了我的问题。我正在“少”安装引导程序,但我的 Gemfile 中没有所需的 gem(therubyracer,less-rails)。我没有把它们放进去的原因是因为它们目前与 Windows 不兼容。当我只是进行正常安装(不少于)时,它工作正常。所以我现在正在创建一个虚拟机,并打算在那里进行开发。
  • 很高兴听到您发现了@Blake 的问题。虚拟机听起来是个好主意。另一个值得研究的选择可能是基于云的环境,例如 Cloud9 或 Nitrous.io。
猜你喜欢
  • 2018-06-13
  • 2019-06-18
  • 2020-01-19
  • 2013-11-26
  • 2018-06-10
  • 2021-01-25
  • 2019-05-28
  • 2017-09-14
  • 1970-01-01
相关资源
最近更新 更多