簡體   English   中英

RailsTutorial:添加@import“ bootstrap”后出錯

[英]RailsTutorial: Error after adding @import “bootstrap”

我正在關注Michael Hartl的rails教程(第5章,第5.1.2節)。 在執行此步驟(創建一個新文件)之前,該應用程序運行良好。

app/assets/stylesheets/custom.css.scss

然后添加:

@import "bootstrap";

然后,我重新啟動了Rails服務器(本地托管),並導航到以前的工作方式時收到以下錯誤消息:

http://localhost:3000/static_pages/home

這是返回的錯誤消息:

Errno::ENOENT in StaticPages#home 

Showing /Users/chows/rails_projects/sample_app/app/views/layouts/application.html.erb where line #5 raised:

No such file or directory - /Users/chows/rails_projects/vendor
(in /Users/chows/rails_projects/sample_app/app/assets/stylesheets/static_pages.css.scss)

2: <html>
3: <head>
4:   <title><%= full_title(yield(:title)) %></title>
5:   <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
6:   <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
7:   <%= csrf_meta_tags %>

app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__2762850417459261999_70126593557460'

我對此很陌生,不知道出了什么問題。 將不勝感激。 謝謝!

嘿,我遇到了完全相同的問題,這就是我設法解決的問題。

在Michael要求使用gem'bootstrap-sass','2.3.2.0'的書中,我厭倦了與此版本的gem一起工作,我發現唯一可行的解​​決方案是使用最新版本的gem'bootstrap-sass' ,“ 3.2.0.1”。

用gem'bootstrap-sass','3.2.0.1'替換'bootstrap-sass','2.3.2.0',運行bundle update並進行bundle install。您會注意到一些CSS內容將被關閉,請嘗試通過以下方法修復訪問最新的官方引導文檔。

干杯

我嘗試了這兩種解決方案,但它們都遇到了不同的問題。 3.2.0.1使得它現在抱怨某些圖像資產不存在,而刪除application.css使得它實際上不應用引導程序。 我為解決您的問題所做的只是將MV供應商移至一個更高的目錄,例如

mv vendor ../

在您的sample_app(或任何您當前的倉庫中命名)中就可以了。 雖然不確定為什么需要這樣做。

盡管我認為我的解決方案只是一種解決方法,而且不正確,因為根據這本書,“供應商/資產:來自第三方供應商的資產”將暗示每個應用程序都將具有一組不同的第三方供應商(或者至少我d想像會有)嗎?

需要配置“ bootstrap”或“ bootstrap”以讀取應用程序的供應商,而不是直接從工作目錄之外(但是不確定如何完成此操作)。

mv vendor ../

(謝謝黃)

確保您將bootstrap-sass恢復到本書2.3.2.0中的設置。

只是對我自己的問題進行了更新,以防有人遇到與我相同的問題。

我嘗試刪除:

app/assets/stylesheets/application.css

並且應用程序加載正常。 但是,該應用程序仍未加載引導程序,看起來與Hartl的外觀完全不同。 我也覺得這樣不能正確解決問題。

然后,我找到了適合我的解決方案: Bootstrap無法與Rails 4一起使用

報價:

sass-rails中存在一個已知問題導致了此問題。 https://github.com/rails/sass-rails/issues/191

嘗試將sass-rails鎖定到4.0.3版,刪除Gemfile.lock並再次運行bundle install。

  • yetti用戶提供的答案

這對我有用,我又回到了正軌。 感謝您發布的所有解決方案!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM