inuinu blog(開発用)

BOT @wagagun の開発ノウハウや、IT向け?の雑記ブログです。

【Ruby on Rails7】hamlを導入するとscaffoldが以前のレイアウトになる

この記事では、Ruby on Rails7のhamlを使った、ちょっとした裏技をご紹介いたします。

私の開発の環境について

私の開発環境は以下の状況になっています。

Rails7以降は、scaffoldの一覧画面がDIVベースと聞いているが…

確かに、Rails7の導入当初に実行したscaffoldの一覧画面は、以前のようなTABLEではなくDIVベースになっていますね。

試しにサンプル的にscaffoldを実行し、CSSを何も当ててない状態で画面を見ると、その画面の長さにため息が出ます…

DIVの羅列もあまり好きじゃないし、hamlでどうスッキリするか、試してみようかと。

hamlをgem installした以降のscaffoldはTABLEベースに戻った

Gemfileにhamlを登録し、bundle installしscaffoldしてみると…あれ?TABLE調のレイアウトに戻ってる!

戻ったというよりも、hamlの場合での変更を失念しちゃったのかもしれませんね。
(あるいは、haml側が追いついていないか?)

ともかく、個人的には社内システムでのWeb開発がメインの人間なので、マスターメンテナンス系の一覧画面がTABLEベースなのは助かります。
しばらくは、hamlで行こうかと思います。

DIVベース(erb)のscaffoldを、TABLEベース(haml)に変更できないか?

モデル及びコントローラーについては差異はありませんし、コントローラーでerbといったキーワードは埋め込まれていませんので、ビューのみ(JSON以外)を変更します。

ビューのファイル名は拡張子以外は同一のはずですので、一番簡単なのは、カラムの数やカラム名が類似するモデルのビューのファイル(JSON以外)をコピーし、テーブル名(単数形・複数形の使い分けに注意)やカラム名を変更していく方法です。

これでうまくいくはずです。