1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RailsでのTailwindの画像path

Posted at
今回私は、わからずに苦戦していたのでメモ✍️をします。

画像ファイルは、 app/assets/images/test.jpg においています。

tailwind.config.js

module.exports = {
  theme: {
    extend: {},
    backgroundImage: {
      "top-bg": "url('./app/assets/images/test.jpg')"
    },
  },
};

app/views/home/index.html.erb

<div class="bg-calender-bg min-h-screen bg-cover"></div>

backgroundImageに画像ファイルがある url('./app/assets/images/test.jpg') にしたら
localサーバーで確認しても画像が表示されませんでした。

出来なかった理由

Railsのアセットパイプライン

Railsのアセットパイプラインは、app/assets/images/フォルダにある画像やその他のアセット(CSS、JavaScriptなど)をプリコンパイルして、URLを通じてアクセスできるようにします。この際、アセットはRailsが提供する/assets/パスで公開されます。
ですから、Railsでは、app/assets/images/にある画像が自動的に/assets/というパスで公開されるため、フルパス(app/assets/images/test.jpg)を書く必要がありません。

Tailwind CSSのビルドプロセス
docker compose exec web rails assets:precompile

このコマンドによって、Railsのアセットパイプラインが画像を含むすべてのアセットをプリコンパイルし、/public/assetsディレクトリに配置します。これにより、Railsアプリケーションが静的ファイルを適切に提供できるようになります。

docker compose exec web npm run build

このコマンドにより、Tailwind CSSがtailwind.config.jsの設定を基にCSSファイルを生成します。特にbackgroundImageの設定は、このビルドプロセス中に適用され、最終的にCSSに背景画像が適用される形で出力されます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?