質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

解決済

Propshaft::MissingAssetError in Users::Sessions#newの解決方法

name_ko
name_ko

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1回答

0評価

0クリップ

382閲覧

投稿2022/03/11 00:02

前提・実現したいこと

こんにちは。Ruby on railsでWebアプリケーション開発の勉強を行っているものです。

Bootstrapのインストールにおいて、Importmapを使用しているのですが、
application.cssがロードパスになく(The asset 'application.css' was not found in the load path)、エラーが発生している状況です。

こちらのエラー状況、関連ファイルは以下に掲示いたしました。
ご存じの方がおられましたら、教えていただけると幸いです。

・バージョン
Rails 7.0.2.2

発生している問題・エラーメッセージ

bin/rails s 実行後、localhost:3000にアクセスした時の画面
イメージ説明

bin/dev 実行後、localhost:3000にアクセスした時のコンソール

bin/dev

username@DESKTOP-8ORJ7AS:~/DialogBook$ bin/dev 08:53:46 web.1 | started with pid 1285 08:53:46 css.1 | started with pid 1286 08:53:46 css.1 | yarn run v1.22.17 08:53:46 css.1 | warning ../package.json: No license field 08:53:46 css.1 | $ sass ./app/assets/stylesheets/application.bootstrap.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules --watch 08:53:48 css.1 | Error reading app/assets/stylesheets/application.bootstrap.scss: no such file or directory. 08:53:48 css.1 | 08:53:48 css.1 | Sass is watching for changes. Press Ctrl-C to stop. 08:53:48 css.1 | 08:53:50 web.1 | /home/username/DialogBook/vendor/bundle/ruby/3.1.0/gems/bootstrap-sass-3.4.1/lib/bootstrap-sass/version.rb:2: warning: already initialized constant Bootstrap::VERSION 08:53:50 web.1 | /home/username/DialogBook/vendor/bundle/ruby/3.1.0/gems/bootstrap-5.1.3/lib/bootstrap/version.rb:4: warning: previous definition of VERSION was here 08:53:50 web.1 | /home/username/DialogBook/vendor/bundle/ruby/3.1.0/gems/bootstrap-sass-3.4.1/lib/bootstrap-sass/version.rb:3: warning: already initialized constant Bootstrap::BOOTSTRAP_SHA 08:53:50 web.1 | /home/username/DialogBook/vendor/bundle/ruby/3.1.0/gems/bootstrap-5.1.3/lib/bootstrap/version.rb:5: warning: previous definition of BOOTSTRAP_SHA was here 08:53:50 web.1 | => Booting Puma 08:53:50 web.1 | => Rails 7.0.2.2 application starting in development 08:53:50 web.1 | => Run `bin/rails server --help` for more startup options 08:53:52 web.1 | Puma starting in single mode... 08:53:52 web.1 | * Puma version: 5.6.2 (ruby 3.1.0-p0) ("Birdie's Version") 08:53:52 web.1 | * Min threads: 5 08:53:52 web.1 | * Max threads: 5 08:53:52 web.1 | * Environment: development 08:53:52 web.1 | * PID: 1285 08:53:52 web.1 | * Listening on http://127.0.0.1:3000 08:53:52 web.1 | * Listening on http://[::1]:3000 08:53:52 web.1 | Use Ctrl-C to stop 08:54:15 web.1 | Started GET "/users/sign_in" for ::1 at 2022-03-11 08:54:15 +0900 08:54:16 web.1 | ActiveRecord::SchemaMigration Pluck (3.5ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC 08:54:16 web.1 | Processing by Users::SessionsController#new as HTML 08:54:23 web.1 | Rendering layout layouts/application.html.erb 08:54:23 web.1 | Rendering devise/sessions/new.html.erb within layouts/application 08:54:23 web.1 | Rendered devise/shared/_links.html.erb (Duration: 3.4ms | Allocations: 1443) 08:54:23 web.1 | Rendered devise/sessions/new.html.erb within layouts/application (Duration: 200.1ms | Allocations: 16699) 08:54:25 web.1 | Importmap skipped missing path: application.js 08:54:25 web.1 | Importmap skipped missing path: application.js 08:54:25 web.1 | Rendered layout layouts/application.html.erb (Duration: 1324.6ms | Allocations: 1056498) 08:54:25 web.1 | Completed 500 Internal Server Error in 8760ms (ActiveRecord: 10.2ms | Allocations: 1110414) 08:54:25 web.1 | 08:54:25 web.1 | 08:54:25 web.1 | 08:54:25 web.1 | ActionView::Template::Error (The asset 'application.css' was not found in the load path.): 08:54:25 web.1 | 8: 08:54:25 web.1 | 9: <%= javascript_importmap_tags %> 08:54:25 web.1 | 10: <%= javascript_tag "application" %> 08:54:25 web.1 | 11: <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %> 08:54:25 web.1 | 12: </head> 08:54:25 web.1 | 13: 08:54:25 web.1 | 14: <body> 08:54:25 web.1 | 08:54:25 web.1 | app/views/layouts/application.html.erb:11

関連ファイル

config/application.rb

require_relative "boot" require "rails/all" # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) module DialogBook class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 7.0 I18n.available_locales = %i(ja en) I18n.enforce_available_locales = true I18n.default_locale = :ja config.time_zone = 'Asia/Tokyo' # Configuration for the application, engines, and railties goes here. # # These settings can be overridden in specific environments using the files # in config/environments, which are processed later. # # config.time_zone = "Central Time (US & Canada)" # config.eager_load_paths << Rails.root.join("extras") initializer "importmap" do |app| app.importmap = Importmap::Map.new app.config.importmap.paths << app.root.join("config/importmap.rb") app.config.importmap.paths.each{ |path| app.importmap.draw(path) } end end end

↓ Rails.application.config.assets.precompile += %w( application.scss ) を追加しました

config/initializers/assets.rb

# Be sure to restart your server when you modify this file. # Version of your assets, change this if you want to expire all your assets. Rails.application.config.assets.version = "1.0" # Add additional assets to the asset load path. # Rails.application.config.assets.paths << Emoji.images_path # Precompile additional assets. # application.js, application.css, and all non-JS/CSS in the app/assets # folder are already added. # Rails.application.config.assets.precompile += %w( admin.js admin.css ) Rails.application.config.assets.precompile += %w( application.scss ) # Add node_modules folder to the asset load path. Rails.application.config.assets.paths << Rails.root.join("node_modules")

↓ production.rbにおいて、config.assets.compile = true にしています

config/environments/production.rb

require "active_support/core_ext/integ---er/time" Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. # Code is not reloaded between requests. config.cache_classes = true # Eager load code on boot. This eager loads most of Rails and # your application in memory, allowing both threaded web servers # and those relying on copy on write to perform better. # Rake tasks automatically ignore this option for performance. config.eager_load = true # Full error reports are disabled and caching is turned on. config.consider_all_requests_local = false config.action_controller.perform_caching = true # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] # or in config/master.key. This key is used to decrypt credentials (and other encrypted files). # config.require_master_key = true # Disable serving static files from the `/public` folder by default since # Apache or NGINX already handles this. config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present? # Compress CSS using a preprocessor. # config.assets.css_compressor = :sass # Do not fallback to assets pipeline if a precompiled asset is missed. config.assets.compile = true # Enable serving of images, stylesheets, and JavaScripts from an asset server. # config.asset_host = "http://assets.example.com" # Specifies the header that your server uses for sending files. # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX # Store uploaded files on the local file system (see config/storage.yml for options).

config/importmap.rb

# Pin npm packages by running ./bin/importmap pin "application", preload: true pin "@hotwired/turbo-rails", to: "turbo.min.js", preload: true pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true pin_all_from "app/javascript/controllers", under: "controllers" pin "bootstrap", to: "https://ga.jspm.io/npm:bootstrap@5.1.3/dist/js/bootstrap.esm.js" pin "@popperjs/core", to: "https://ga.jspm.io/npm:@popperjs/core@2.11.2/lib/index.js" pin "jquery", to: "https://ga.jspm.io/npm:jquery@3.6.0/dist/jquery.js"

app/javascript/controllers/application.js

import { Application } from "@hotwired/stimulus" import "popper.js" import "bootstrap" const application = Application.start() // Configure Stimulus development experience application.debug = false window.Stimulus = application export { application }

app/assets/stylesheets/application.scss

@import "bootstrap-sprockets"; @import "bootstrap";

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。