前提・実現したいこと
Ruby/railsで文章を投稿できる簡単なwebサイトを作成しています。
このwebサイトは、gem、redcarpetとrougeを使用しています。
CSSを各ビューファイルに反映させたいです。
また、_rouge.scss.erbを使用したいです。
発生している問題・エラーメッセージ
何かしらの動作をするたびに、ターミナルにて、
ActionController::RoutingError (No route matches [GET] "/assets/rouge"):
が表示されます。Chromeにプレビュー表示すると、以前保存した時のCSSが使われており、CSSを変更、保存してもその変更が反映されません。
試したこと
rougeが原因かと思い、一旦/app/assets/stylesheets/application.cssの、
@import 'rouge';
という一文をコメントアウトしてみたところ、先程のターミナルのエラーメッセージは消えましたが、CSSは相変わらず適用されていませんでした。ここで、エラーメッセージはどこにも表示されませんでした。
また、ファイル名を application.scss
に書き換えてみましたが、状況は変わりませんでした。
そこで、ファイル名を application.css
に戻し、 /*= require rouge */
に書き換えると、
Sprockets::FileNotFound in Learnings#index couldn't find file 'rouge' with type 'text/css'
と表示されたので確認したところ、確かに'rouge'という名前のファイルはありませんでしたが、
/assets/stylesheets/_rouge.scss.erbは存在します。
ソースコード
routes.rb
ruby
1Rails.application.routes.draw do 2 devise_for :users 3 root 'learnings#index' 4 5 get 'learnings' => 'learnings#index' 6 get 'learnings/new' => 'learnings#new' 7 post 'learnings' => 'learnings#create' 8 get 'learnings/:id' => 'learnings#show' 9 delete 'learnings/:id' => 'learnings#destroy' 10 get 'learnings/:id/edit' => 'learnings#edit' 11 patch 'learnings/:id' => 'learnings#update' 12 get '/search' => 'learnings#search' 13 14 get 'users/:id' => 'users#show' 15end
application.css
ruby
1/* 2 * This is a manifest file that'll be compiled into application.css, which will include all the files 3 * listed below. 4 * 5 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's 6 * vendor/assets/stylesheets directory can be referenced here using a relative path. 7 * 8 * You're free to add application-wide styles to this file and they'll appear at the bottom of the 9 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS 10 * files in this directory. Styles in this file should be added after the last require_* statement. 11 * It is generally better to create a new file per style scope. 12 * 13 *= require_tree . 14 *= require_self 15 */ 16/*= require rouge */
_rouge.scss.erb
ruby
1<%= Rouge::Themes::Github.render(:scope => '.highlight') %>
補足情報(FW/ツールのバージョンなど)
railsのバ-ジョンは5.2.4.1、エディタはAWS, Cloud9を使用しています。
回答2件
あなたの回答
tips
プレビュー