LoginSignup
5
4

More than 3 years have passed since last update.

【Rails】form_withをSlimで書いてCheckBoxを横並びにした

Posted at

はじめに

Railsでテンプレートにslimを使ったform_withの実装で若干苦戦したので、まとめてみました!
今回はCSSのフレームワークにSpectreを使っています。
(Bootstrapでも同様にできると思います。)

Slimになかなか慣れない…

環境

  • Ruby 2.6.3
  • Rails 5.2.3

通常のform_withの書き方

hoge.html.slim
  section.hoge-list
    h4 メール配信を希望の方はチェック
    = form_with(model: [:ops, @user], local: true) do |f|
      .form-group
        = f.check_box :hoge_column, class: 'form-control'
        = f.label :hoge_column, '配信する', class: 'form-label'
      .form-group
        = f.submit

ブラウザでは以下のようになる
スクリーンショット 2019-10-01 午後10.21.01.png
これではUIが良くないためスタイルを整える必要がある

インデント、Spectreを使いスタイルを整える

hoge.html.slim
  section.hoge-list
    h4 メール配信を希望の方はチェック
    = form_with(model: [:ops, @user], local: true) do |f|
      .form-group
        = f.label :hoge_column, class: 'form-label form-switch'
          = f.check_box :hoge_column, class: 'form-control'
          |
          i.form-icon
          strong 配信する
        br
      .form-group
        = f.submit

ブラウザでは以下のようになる
スクリーンショット 2019-10-01 午後10.36.48.png
これでUIが良くなり、CSSをあてる手間も省ける

5
4
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
5
4