【问题标题】:Cannot integrate Bootstrap in my Ruby on Rails (version 4.0.0) app无法在我的 Ruby on Rails(版本 4.0.0)应用程序中集成 Bootstrap
【发布时间】:2015-12-13 16:50:07
【问题描述】:

我尝试了多种方法,遵循了许多教程,但我的 Rails 应用程序没有任何效果。这是我的 Gemfile:

source 'https://rubygems.org'
gem 'rails', '4.0.0'
gem 'mysql2'
gem 'paperclip', '~>3.0'
gem 'sass-rails', '~>4.0.0'
gem 'bootstrap-sass', '~>3.2.0.2'
gem 'autoprefixer-rails'
group :doc do
gem 'sdoc', require: false
end

application.css.scss 就像

/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, but it's generally better to create a new file per style scope.
 *
 */
@import "bootstrap-sprockets";
@import "bootstrap";

application.js 文件:

// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require bootstrap-sprockets
//= require jquery_ujs
//= require turbolinks
//= require_tree .

index.html.erb 文件:

<div class="posts index">
    <h1>Welcome to The Incognito Social Network</h1>
    <%=link_to("Say Something!", {:action=> 'new'}, :class=>'action new')%>

    <table class="listing" summary="All posts">
    <% @posts.each do |post| %>
    <tr><td>&nbsp</td></tr>
    <tr>
        <td>Post #<%=post.id%>   </td>
        <td><%=post.text%></td>
        <%if post.image_file_name%>
        <td>
        <%=image_tag post.image.url %>
        </td>
        <%end%>
    </tr>

    <tr>
        <td><%= link_to("Like", '#', :class=>'action upvote')%></td>
    </tr>
    <%end%>
    </table>


</div>

我尝试在我的控制器中编写layout false#layout false。都没有生效。

rails 应用程序没有任何变化。我尝试将引导代码放在我的 index.html.erb 文件中,但它没有以引导样式出现。它看起来好像是简单的 HTML。有人知道如何解决这个问题吗? 谢谢。

【问题讨论】:

  • 您能添加您的index.html.erb 文件吗?
  • @Tobias 我已经用 index.html.erb 文件更新了问题
  • 您似乎没有为table 应用任何引导类。你试过&lt;table class="table listing" summary="All posts"&gt;吗?
  • @vanburen 对我的 Rails 应用程序仍然没有影响。我错过了什么?
  • 您检查过该页面是否正在加载 Bootstraps CSS?

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


【解决方案1】:

正如@vanburen 已经写道:您必须将table 类添加到您的table 标记中。

所以替换

<table class="listing" summary="All posts">

<table class="table listing" summary="All posts">

现在 bootstrap 应该可以识别表格并改变它的样式了。

您将在Docs 中找到更多信息。

编码愉快:)。

【讨论】:

  • 对我的 Rails 应用程序仍然没有影响。我错过了什么?
  • 这是一个开源项目吗?如果是,您可以添加 Repo URL 吗?
【解决方案2】:

好的,所以我安装了Node.js 并重新启动了我的电脑。此外,这是我更新的Gemfile

source 'https://rubygems.org'
gem 'rails', '4.0.0'
gem 'mysql2','~> 0.3.11'
gem 'paperclip', '~>3.0'
gem 'sass-rails', '~>4.0.0'
gem 'bootstrap-sass', '~>3.2.0.2'
gem 'autoprefixer-rails'
gem 'acts_as_votable', '~>0.10.0' 
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'therubyracer', platforms: :ruby
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
group :doc do
  gem 'sdoc', require: false
end

我还发现我必须在控制器中注释掉 layout false 才能使 Bootstrap 正常工作。感谢@Tobias 和@vanburen 的帮助。

【讨论】:

  • 太好了,很高兴您想通了,别忘了将您自己的答案标记为完整,以便其他人可以从中受益。
猜你喜欢
  • 2018-11-04
  • 1970-01-01
  • 2019-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多