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

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

目次

私の開発の環境について

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

  • Ruby 3.2.2
  • Rails 7.0.8

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以外)をコピーし、テーブル名(単数形・複数形の使い分けに注意)やカラム名を変更していく方法です。

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA

目次