【问题标题】:Ruby on Rails importing bootstrap not found找不到 Ruby on Rails 导入引导程序
【发布时间】:2014-07-06 02:07:41
【问题描述】:

二次编辑 感谢所有有用的指导,我能够通过回滚我的 ruby​​ 版本来修复错误。我不得不做一些其他的调整,但这是主要的,特别是考虑到我正在学习一个教程。

编辑 在进行 cjn 建议的更改后,我仍然不成功。我收到此错误:

 Static pages Home page should have the content 'Sample App'
 Failure/Error: visit '/static_pages/home'
 ActionView::Template::Error:
   couldn't find file 'jquery'
     (in /Users/me/rails_projects/sample_app/app/assets/javascripts/application.js:13)
 # ./app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb__1639650066512045899_2207712920'
 # ./spec/requests/static_pages_spec.rb:8:in `block (3 levels) in <top (required)>'

----原帖----

我是 RoR 编程的新手。目前我正在阅读 Michael Hartl,“Ruby on Rails 教程”。在过去的一天左右,我一直被这个问题困扰。

在应用程序/资产/样式表中,我有一个名为 custom.css.scss 的文件。在这个文件中我有一行:

@import "bootstrap";

但是我得到一个错误:

 Failure/Error: visit '/static_pages/about'
 ActionView::Template::Error:
   File to import not found or unreadable: bootstrap.
   Load paths:

     /Users/me/rails_projects/sample_app
     /Users/me/rails_projects/vendor/assets/stylesheets
     (in /Users/me/rails_projects/sample_app/app/assets/stylesheets/application.css)
 # (sass):15
 # ./app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__2871330256659661911_2185769240'
 # ./spec/requests/static_pages_spec.rb:39:in `block (3 levels) in <top (required)>'

在我的 Gemfile 中,我有:

source 'https://rubygems.org'
ruby '2.1.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.5'
gem 'bootstrap-sass', '2.3.0.1'
gem 'sprockets', '2.12.1'

group :development, :test do
  gem 'sqlite3', '1.3.8'
  gem 'rspec-rails', '2.13.1'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
end

gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

我查看了很多其他关于如何解决类似问题的帖子,但无济于事。

提前感谢您的帮助!

【问题讨论】:

  • 你应该升级 Bootstrap 3 的 gem 版本。 gem 'bootstrap-sass', '~&gt; 3.2.0'。运行 bundle install,完成后重启你的 rails 服务器。
  • 感谢您的建议,不幸的是这并没有产生不同的结果
  • 有什么方法可以检查我的应用程序是否正在使用 gem 文件?
  • 你跑过github仓库安装说明了吗? https://github.com/twbs/bootstrap-sass 使用 Rails 3.1+,您已经拥有 sass-rails,所以没关系,但是您是否将 @import "bootstrap-sprockets"; 添加到 application.css 文件并将 //= require jquery//= require bootstrap-sprockets 添加到 application.js 文件?另外,在将代码添加到 .css 或 .js 文件后,您是否重新启动过 Rails 服务器?
  • @cjn 这就是解决方案将其添加为答案。我的意思是,重新启动服务器

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


【解决方案1】:

花了一天的大部分时间来解决这个问题,我想我会分享我的解决方案。我也在关注 Hartl 的 Rails 教程,并通过在 cloud9 帐户中运行所有内容来遵循他的建议。

我的答案是重新启动服务器,但是,这不像简单的 ctrl+c 那样简单,因为我完全关闭了终端窗口。结果,我尝试发出“rails server -b $IP -p $PORT”,但是,我收到了 `bind': Address already in use .. ' 错误。

所以我是这样解决的:

从终端:

1.) $ lsof -i :8080 -> 输出将显示占用端口 8080 的进程的 PID:“httpd 1234 ....”

2.) $ 杀死 -9 1234

所有错误都消失了,引导程序正常工作!

最后(也是最重要的),应该注意的是,在教程中,您应该始终发出“rails server -b $IP -p $PORT”而不是“rails server”。这是关键。

【讨论】:

    【解决方案2】:

    同样的问题也发生在我身上,而我已经完成了 Michael Hartl(https://www.railstutorial.org/book/) 的教程。但是在我通过更改 gem 文件中 gems 的顺序来给出 bundle 命令之后,这个问题就解决了。我猜上面的问题,主要是由于安装的 gem 没有正确刷新 c9 编辑器。

    【讨论】:

      【解决方案3】:

      对我来说,解决方案是将样式表文件从 css 重命名为 scss

      mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
      

      希望对你有帮助

      【讨论】:

        【解决方案4】:

        对于听起来有效的正式答案...

        您是否浏览过 github 存储库安装说明? https://github.com/twbs/bootstrap-sass 使用 Rails 3.1+,你已经有了 sass-rails,所以没关系,但是你有没有将 @import "bootstrap-sprockets"; 添加到你的 application.css 文件和 //= require jquery//= require bootstrap-sprockets 到你的 application.js 文件?

        另外,在将代码添加到 .css 或 .js 文件后,您是否重新启动过 Rails 服务器?

        【讨论】:

        • 我已经这样做了,但它仍然无法正常工作,我收到错误消息:静态页面主页应该有内容“示例应用程序”失败/错误:访问“/static_pages/home” ActionView::Template::Error: 找不到文件 'jquery' (在 /Users/me/rails_projects/sample_app/app/assets/javascripts/application.js:13) # ./app/views/layouts/application. html.erb:7:in _app_views_layouts_application_html_erb__1639650066512045899_2207712920' # ./spec/requests/static_pages_spec.rb:8:in block (3 级) in '
        • 查看标记位置周围的代码行会很有用(javascripts/application.js:13 和 appliction.html.erb:7)。你在一个组之外有 jquery-rails gem,所以看起来不错。同时,我看到 gem 版本不能很好地运行并且需要在 gem 中进行更新。在最坏的情况下,您可能会考虑使用较新的版本 - here's some options... 更新 jquery-rails 版本,或者使用较新的版本 - more options 更新 rspec-rails。想想看,rspec-rails v2.13.1 过去给了我一些问题。
        【解决方案5】:

        如果您正在学习 Rails 教程并在云 (c9) 中进行开发,则应重新启动工作区服务器。之后再次执行rails测试,它会工作。

        【讨论】:

          猜你喜欢
          • 2014-06-27
          • 1970-01-01
          • 1970-01-01
          • 2018-11-06
          • 2015-10-28
          • 2016-09-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多