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?

More than 1 year has passed since last update.

【Rails】simple_form使ってみた

Last updated at Posted at 2023-06-17

はじめに

学習中に、simple_formを使用してフォームを作成したので、記録として残します。

simple_formとは

Railsには、標準のform_withを使ってフォームを作成することができますが、simple_formを使うことによって、簡単に、よりシンプルにフォームを作成することができます。

導入

Gemfile
gem 'simple_form'
$ bundle install

次に、以下のコマンドでインストール(初期化)します。

$ rails g simple_form:install
=>    create  config/initializers/simple_form.rb
      exist   config/locales
      create  config/locales/simple_form.en.yml
      create  lib/templates/erb/scaffold/_form.html.erb

使い方

以下のように記述することで、ラベルと入力用のフォームを同時に作成してくれます。
これが、simple_formの便利なとこですね。

app/views/users/new.html.slim
= simple_form_for @user do |f|
  = f.input :last_name
  = f.input :first_name
  = f.input :email
  = f.input :password
  = f.input :password_confirmation
  = f.submit

css適用してないので、汚いフォームですが以下のようにフォームが作成されます。
スクリーンショット 2023-06-17 14.13.04.png

この、「f.input」が何をしているかは、以下の記事
simple_form の f.input が呼ばれた時何が起こっているかコードリーディングして調べてみた

ラベルの日本語化(I18n)

設定ファイルで以下の記述を行うことにより、日本語化の設定を行う。

# config/application.rb
config.i18n.default_local = :ja

そして、ja.ymlファイルに以下のように記述していく。
simple_form.ja.ymlファイルは、rails g simple_form:installした際に作成される。

config/locales/simple_form.ja.yml
ja:
  simple_form:
    labels:
      user:
        last_name: '姓'
        first_name: '名'
        email: 'メールアドレス'
        password: 'パスワード'
        password_confirmation: 'パスワード確認'

オプション

simple_formには様々なオプションがあります。

app/views/users/new.html.slim
= simple_form_for @user do |f|
  = f.input :last_name, label: '名字'
  = f.input :first_name, label: '名前'
  = f.input :email, hint: '@example.comを使用'
  = f.input :password, placeholder: '誕生日は避ける'
  = f.input :password_confirmation, placeholder: 'パスワード確認
  = f.submit

・ラベル
・ヒント
・プレースホルダー
のオプションをつけると以下の表示になります。
スクリーンショット 2023-06-17 14.20.30.png
他の様々なオプションは、公式リファレンスで確認できます。

最後に

公式リファレンスから色々試してみると面白そうですよね!
ぜひ試してみてください!

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?