2014-07-06 90 views
2

第二編輯 感謝您提供所有有用的指導,我能夠通過回滾我的ruby版本來修復錯誤。我必須做一些其他的調整,但那是主要的,尤其是考慮到我正在學習一個教程。Ruby on Rails導入bootstrap未找到

編輯 我在建議更改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)>' 

----原來的職位----

我在編程回報率是新手。目前我正在通過Michael Hartl,「Ruby on Rails教程」。過去一天左右,我一直在困擾這個問題。

在apps/assets/stylesheets中我有一個名爲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 

我已經看過了很多其他如何解決類似問題的帖子,但無濟於事。

在此先感謝您的幫助!

+2

您應該升級[Bootstrap 3]的寶石版本(http://getbootstrap.com/)。 'gem'bootstrap-sass','〜> 3.2.0''。運行軟件包安裝,並在完成後重新啓動您的Rails服務器。 –

+0

感謝您的建議,不幸的是這並沒有產生不同的結果 – shtoff

+0

有沒有一種方法可以檢查我的應用程序是否正在使用gem文件? – shtoff

回答

0

對於這聽起來像它的工作正式答案...

你有沒有通過GitHub的倉庫安裝說明運行? https://github.com/twbs/bootstrap-sass使用Rails 3.1+,你確實已經擁有sass-rails,所以沒關係,但是你在你的application.css文件中加入了@import "bootstrap-sprockets";,而你的application.js文件中加入了//= require jquery & //= require bootstrap-sprockets

另外,你有沒有重新啓動你的rails服務器,因爲你的.css或.js文件添加了代碼?

+0

我已經完成了這項工作,但它仍然無法正常工作,我收到錯誤:靜態頁面主頁應該有內容'示例應用' 失敗/錯誤:訪問'/ static_pages/home' ActionView :: Template: :錯誤: 找不到文件'jquery' (位於/Users/me/rails_projects/sample_app/app/assets/javascripts/application.js:13) #./app/views/layouts/application.html。 erb:7:在'_app_views_layouts_application_html_erb__1639650066512045899_2207712920' #./spec/requests/static_pages_spec.rb:8:in'block(3 levels)in ' – shtoff

+0

看看周圍的代碼行很有用它的標記(javascripts/application.js:13和appliction.html.erb:7)。你有一個組外的jquery-rails gem,所以看起來很好。與此同時,我看到寶石版本不能很好地發揮作用,需要更新寶石。最糟糕的情況是,你可能會考慮用更新的版本更新jquery-rails的版本 - [這裏有一些選項](https://rubygems.org/gems/jquery-rails)...或者rspec-rails與更新的版本 - [更多選項](https://rubygems.org/gems/rspec-rails)。想想看,rspec-rails v2.13.1在過去給了我一些問題。 – cjn

2

花了一天的大部分時間來解決這個問題,我想我會分享我的解決方案。我也是遵循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」。這是關鍵。

1

同樣的問題也發生在我身上,而我經歷了Michael Hartl的教程(https://www.railstutorial.org/book/)。但是,當我通過更改gem文件中gem的順序給出bundle命令後,解決了此問題。上述問題對我的猜測主要是由於c9編輯器沒有正確刷新已安裝的gem。

1

對我來說,溶液由CSS重命名樣式表文件SCSS

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

希望它能幫助

+0

這對我來說是正確的解決方案。 +爲命令 –

0

如果你正在做的Rails教程和雲(C9)開發,你應該重新啓動工作區服務器。之後再次執行rails測試,它會起作用。