14

我对编程比较陌生,因此我希望这个问题不是绝对愚蠢的。

我遇到了关于我的 Rails 应用程序的问题。

我尝试使用引导程序。我构建了一个名为“custom.css.scss”的文件并在其中使用了“@import“bootstrap””行。

问题是:每次我保存我的“custom.css.scss”文件时,都会自动生成一个新文件“custom.css”,我收到以下消息:“custom.css.scss File to import not found or unreadable:bootstrap ”。

有趣的是:当我删除文件“custom.css.scss”并刷新我的浏览器时,一切都很好(这意味着:使用了引导程序)。

你有什么想法,可能是什么原因?

最亲切的问候克里斯

PS:这是我安装的gem文件

source 'https://rubygems.org'

gem 'rails', '3.2.11'
gem 'bootstrap-sass', '2.1'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'jquery-rails', '2.0.2'

group :development, :test do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.11.0'
  # gem 'guard-rspec', '1.2.1'
  # gem 'guard-spork', '1.2.0'  
  # gem 'spork', '0.9.2'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

group :test do
  gem 'capybara', '1.1.2'
  gem 'factory_girl_rails', '4.1.0'
  gem 'cucumber-rails', '1.2.1', :require => false
  gem 'database_cleaner', '0.7.0'
  gem 'launchy', '2.1.0'
  # gem 'rb-fsevent', '0.9.1', :require => false
  # gem 'growl', '1.0.3'
end

group :production do
  gem 'pg', '0.12.2'
end

custom.css.scss 文件如下所示

@import "bootstrap";

/* universal */

html {
    overflow-y:scroll
}

body {
    padding-top: 60px
}

section {
    overflow: auto;
}

textarea {
    resize: vertial;
}

.center {
    text-align: center;
}

.center h1 {
    margin-bottom: 10px;
}

/* typography */

h1, h2, h3, h4, h5, h6 {
    line-height: 1
}

h1 {
    font-size: 3em;
    letter-spacing: -2px;
    margin-bottom: 30px;
    text-align: center;
}

h2 {
    font-size: 1.7em;
    letter-spacing: -1px;
    margin-bottom: 30px;
    text-align: center;
    font-weight: normal;
    color: #999;
}

p {
    font-size: 1.1em;
    line-height: 1.7em;
}
4

8 回答 8

16

我遇到了类似的问题,看到了Habax的解决方案,先尝试了最后一步。

我刚刚重新启动了服务器。

事实证明这已经足够了。希望有帮助。

于 2013-10-02T18:20:21.193 回答
5

在使用Bootstrap 4处理Rails 6应用程序时,我遇到了类似的问题。

问题是我没有在我的文件中指定文件的节点模块完整路径。bootstrap.scssapp/assets/stylesheets/application.scss

使用以下命令安装Bootstrap 4及其依赖项后:

yarn add bootstrap jquery popper.js

我需要做的就是修改它:

@import "bootstrap";

@import 'bootstrap/scss/bootstrap';

然后,您可以通过这种方式在文件中添加要求boostrap.js文件app/javascript/packs/application.js

require("bootstrap");

就这样。

我希望这有帮助

于 2020-07-24T10:32:11.707 回答
4

我有一个类似的问题,我将文件类型从 css 更改为 scss。我敢打赌,如果您从文件名中删除“.css”,它将起作用。

于 2013-04-02T19:16:21.390 回答
2

面临同样的问题。我将 custom.css.scss 重命名为 custom.css,并在 Gemfile 中指定了 ruby​​ 的版本。并捆绑安装。在我的情况下:红宝石'2.0.0'

于 2014-03-10T07:10:27.537 回答
2

在新应用程序中遇到了同样的问题,但重新启动开发服务器解决了这个问题。

于 2014-01-22T22:46:16.803 回答
1

我遇到了同样的问题,通过将 bootstrap-sass 和 sass-rails 版本修复为:

gem 'sass-rails', '~> 3.2'
gem 'bootstrap-sass', '~> 2.3.1.0'

然后bundle install服务器重启。

于 2013-04-17T16:26:33.470 回答
1

我只是想通过我的决议作为参考。我今天也遇到了这个问题。如果您还使用带有 scss 模式的 emacs,它可能会有所帮助。默认情况下,当您保存 scss 文件时,emacs 将自动编译这些 scss 文件并创建一个响应的 .css 文件。那么你只需要删除这些 .css 文件。或将以下代码放入 .emacs 作为永久修复

(setq scss-compile-at-save nil) ;; disable the auto-compilation
于 2013-06-10T13:30:30.467 回答
1

我在我的scss文件中遇到了同样的问题,即“找不到或无法读取要导入的文件:引导程序” 。我刚刚通过将“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
于 2013-12-06T14:06:05.980 回答