1
7

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 3 years have passed since last update.

formでBoolean型のセレクトボックスを作った時のメモ

Last updated at Posted at 2020-04-15

Boolean型のチェックボックスの記事はあったけどプルダウンメニューのセレクトボックスが探してもなかったので備忘録。

真偽値なので0と1で値を送りたいけど、ユーザーが選択する部分では文字を表示したい。
探すとちょうどいい感じの記事が。
https://310nae.com/rails-selectbox/

new.html.erb
  <%= form_with model:@post, local: true do |form| %>
    <%= form.label "タイトル" %><%= form.text_area :title %>
    <%= form.label "状態" %><%= form.select :is_released, [['非公開',0],['公開',1]], { include_blank: true, selected: 0 } %>
    <%= form.submit "送信" %>
  <% end %>

これで選択する際は「公開」「非公開」を選択できるようになり、paramsで送られてくる値は0か1になる。

表示するときはビューで切り替え。

index.html.erb
  一覧表示
  <% @posts.each do |post| %>
    <div>
      タイトル: <%= post.title %>
      掲載状態:<%= post.is_released == true ? "公開" : "非公開" %>
    <div>
  <% end %>

もっときれいな書き方もあるのかも。

ちなみに真偽値はバリデーションかけるとき注意。(presence: trueにすると偽の場合保存できなくなる)
以下参照。
https://qiita.com/mktakuya/items/a13c2175f0f0d9871038

1
7
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
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?