自作サービス着手
自作サービスに着手しました。
自作サービス
今週からRails7を使って自作サービスに取り掛かっていました。
今週は以下の作業をしました。
- formatter系の導入
- Rspecの導入
rails new
- Deviseの導入
- トップページの作成
- slimの導入
- GitHub ActionsでPRとマージ時にLinterが走るようにした
正直まだ導入の段階なので「詰んだ〜」みたいな状況には陥っていませんが、いくつか「うっ」という場面はありました。
# app/views/layouts/application.html.slim
= csrf_meta_tags
= csp_meta_tag
= stylesheet_link_tag 'tailwind', 'inter-font', 'data-turbo-track': 'reload'
こんな感じで3つのCSSファイルをHTMLファイルにリンクし、読み込んでページに適用するという場面がありました。ここで自分はrails s
を行いローカルでサーバーを立ち上げアプリを開いたところこんなエラーが発生しました。
The asset "tailwind.css" is not present in the asset pipeline.
rails7ではrails s
ではJSやCSSがビルドされないということをすっかり忘れていました。ここでのtailwind
はtailwind.css
を探しに行っています。このtailwind.css
はapp/assets/stylesheets/application.tailwind.css
をもとにビルドされたファイル(app/assets/builds/tailwind.css
)なので当然ビルドしていないと生成されません。なので今回はここでbin/dev
を実行するのが正でした。
そんなbin/dev
の中身は
# bin/dev
if ! gem list foreman -i --silent; then
echo "Installing foreman..."
gem install foreman
fi
exec foreman start -f Procfile.dev "$@"
# Procfile.dev
web: bin/rails server -p 3000
css: bin/rails tailwindcss:watch
こんな感じでTailwindのウォッチプロセスとdevelopmentモードのRailsサーバーを両方起動しているみたいですね。 変更内容が自動で反映されるのはこのウォッチプロセスというのがやってくれているみたい。ふむふむ。 ん?これってJSもビルドされているんですかね?CSSだけ感がある。この点気になるというか知らないとヤバそう。
Deviseの導入 by OdenTakashi · Pull Request #41 · OdenTakashi/SmartLottery
これからも引き続き頑張ります。Rspecが全くと言っていいほどわからないのでそこを勉強したいです。あとテストのCIも走らせたい。