はじめに
プログラミングを勉強して2か月ほどです。
初心者なので間違っているところがあれば、ご指摘いただけると幸いです。
そもそもboolean型ってなに?
この型は、二つの値しか持たないことが特徴です。boolean型では、値を「真 (true)」または「偽 (false)」で表示します。真は通常1や真の値(true)、偽は通常0や偽の値(false)と表現されます。
boolean型の詳しい内容については、@mmaumtjgj(kamin_k)さんの記事で記載されています。
分かりやすく解説されているので、ぜひ読んでみてください。
boolean型を使ってできること
boolean型は上記の通り、「true」か「false」で表します。例えるなら、スイッチの「オン」と「オフ」同じような機能です。
この機能と条件分岐を組み合わせることで、見た目上でもスイッチのようにオンとオフを表すことができます。
それでは、実際にboolean型を使用して実装していきましょう!
Let's start!!!
マイグレーションファイルの記述
class CreateItems < ActiveRecord::Migration[7.0]
def change
create_table :items do |t|
t.boolean :switch, default: false, null: false
t.timestamps
end
end
end
※今回はswitch
というカラム名にしました。
default: false
という記述が重要です。
この記述をすることで、テーブルに保存される時に「false(0)」で保存されます。
コントローラーへの記述
class ItemsController < ApplicationController
def use
@item = Item.find(params[:item_id])
@item.update(switch: true)
redirect_to root_path
end
def back
@item = Item.find(params[:item_id])
@item.update(switch: false)
redirect_to root_path
end
end
今回はuseとbackというアクションを使って「オン」と「オフ」を表現していきます。
@item.update(switch: true)
上記の記述はswitch
カラムをtrue
にするという記述です。
useアクションが実行された時にtrue
に変わります。
ビューへの記述
<% if item.switch == true %>
<div class='switch-on'>
<span>オン</span>
</div>
<% end %>
<% if item.switch == true %>
上記の記述は、itemのswitchカラムがtrueだったらという記述です。
この条件分岐を使うことで「オン」の表示をすることができます。
終わりに
みなさん実装お疲れ様でした!
boolean型を使用しての実装は以上です。
分かりづらい点が多かったと思いますが、最後まで読んでいただきありがとうございました!!