0
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?

Railsのcheck_box

Last updated at Posted at 2023-10-07

株式会社TECH LUCKという会社で代表兼エンジニアをしている齊藤です。

DXプロジェクト、開発プロジェクト、Rails開発などでお困りごとがありましたら弊社HPからご相談をいただけますと幸いです。
以下のような問題に対応することが可能です。

  • プロジェクトでRailsエンジニアが足りなくて困っている
  • Railsのバージョンアップをしたいがノウハウ・リソースが足りなくて困っている
  • オフショア開発をしているが、要件の齟齬やコード品質が悪いので改善したい

また、Railsエンジニアも募集しておりますので、興味がありましたら弊社HPからご連絡いただけますと幸いです。

前提

Railsのf.check_boxでBoolean型のカラムの情報の保存の際にめちゃくちゃハマったのでメモ。

解決策

Boolean型のカラムの場合には、以下のように書きます。
ここで注意なのは、値であるtrue, falseを文字列にすることです。

Boolean型のtrue, falseだと、保存に失敗した後のエラー画面でデフォルトの値がそのまま入ることになってしまうことになり、ユーザーが選択したものが解除されてしまいます。

<%= f.check_box :is_send_mail, { class: "mt-4", checked: f.object.is_send_mail }, "true", "false" %>

送られない理由は、Boolean型のtrue, falseだとform_withでパラメーターがコントローラーに渡っておらず、値を入れることができないようになっていたことが原因です。

0
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
0
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?