[解決済み] Rails 4: アセットがプロダクションでロードされない
2022-08-22 21:59:14
質問
アプリを本番に投入しようとしているのですが、画像やCSSのアセットパスがうまくいきません。
現在、私がやっていることは以下の通りです。
- 画像アセットは/app/assets/images/image.jpgに格納されています。
- スタイルシートは/app/assets/stylesheets/style.cssに格納されています。
-
私のレイアウトでは、このようにcssファイルを参照しています。
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
-
unicornを再起動する前に
RAILS_ENV=production bundle exec rake assets:precompile
を実行すると成功し、フィンガープリントされたファイルがpublic/assets
ディレクトリにあります。
自分のサイトにアクセスすると、404 not found エラーになります。
mysite.com/stylesheets/styles.css
.
私は何を間違えているのでしょうか?
更新しました。 私のレイアウトでは、このようになります。
<%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %>
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
生成ソースはこれです。
<link data-turbolinks-track="true" href="/stylesheets/bootstrap.min.css" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/stylesheets/styles.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application-0c647c942c6eff10ad92f1f2b0c64efe.js"></script>
RailsがコンパイルされたCSSファイルを適切に探していないようです。しかし、非常に紛らわしいことに
なぜ
はjavascriptsに対しては正しく動作しているのですが、(
/assets/****.js
のパスに注目してください)。
どのように解決するのですか?
で
/config/environments/production.rb
これを追加する必要がありました。
Rails.application.config.assets.precompile += %w( *.js ^[^_]*.css *.css.erb )
.jsはすでにプリコンパイルされていたのですが、とりあえず追加してみました。.cssと.css.erbはどうやら自動的には行われないようです。その
^[^_]
は部分的なものをコンパイルから除外しています -- 正規表現です。
ドキュメントには、アセット パイプラインがデフォルトで有効であると明確に述べられていますが、JavaScript にのみ適用されるという事実が明らかにされていないのは少し不満です。
関連
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み] Mac OS Xにhomebrewがインストールされているかどうかを確認する方法
-
[解決済み] 該当するルートがない [GET] "demo/hello"
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜ?
-
[解決済み] Rails / Haml: 投稿フォームを作成するには?
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rails 4で懸念事項を使用する方法
-
[解決済み】Railsの認証トークンを理解する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み】Rails 4 RoutingError: ルートが一致しない[POST]。
-
[解決済み】Webpacker::Manifest::MissingEntryError【クローズド
-
[解決済み] デバイスを使用する現在のユーザーメソッド
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] Devise Admin Roleの追加【終了しました
-
[解決済み] Railsはsaveでモデル内の検証をスキップしますか?
-
[解決済み] rails consoleを起動するとRailsのイニシャライザーが呼ばれる?
-
[解決済み] 構文エラー "構文エラー、予期しない入力終了、keyword_endを期待 (SyntaxError)"
-
[解決済み】Railsのプロダクションでconfig.assets.compile=true、なぜダメなのか?