RailsでToDoサービスを作ろう(第6回)〜カンバンの「ToDo、Doing、Done」にする 〜

にゅ〜ぶる
にゅ〜ぶる

こんにちは、にゅ〜ぶるです。

こんにちは〜、ぶるこだよ〜💕

ぶるこ
ぶるこ
にゅ〜ぶる
にゅ〜ぶる

さて、第6回目ですね!前回は、こちら
今日は、「カンバンの「ToDo、Doing、Done」にする」について、進めていきたいと思います!

カンバンって?

ぶるこ
ぶるこ
にゅ〜ぶる
にゅ〜ぶる

作業(タスク)の状態を「ToDo」「Doing」「Done」という3つに分割し、情報カードや付箋紙に書いて貼り付けて管理する方法があって、それをカンバンって言うんだ。

今回は、その状態3つを管理する項目を追加するよ。

にゅ〜ぶる
にゅ〜ぶる

それでは早速、カラム(status)を追加しましょう。
状態を数値で管理するので、Integer型を使います。

にゅ〜ぶる
にゅ〜ぶる

いつもの通り、DBを操作するmigrateファイルが作成されますので、
rails db:migrateだね!

にゅ〜ぶる
にゅ〜ぶる

では次は、Enumと言う機能を使って、statusの設定をしましょう。

にゅ〜ぶる
にゅ〜ぶる

次に、各Viewに追加したstatusを追加しましょう。

答え(例)を書いておきますが、自分でできる方は、まずは見ずにやってみてください。

show.html.erb

index.html.erb

_form.html.erb

にゅ〜ぶる
にゅ〜ぶる

Enumを使った場合、select-optionのvalueをEnumのkeyにする必要があります。
そのため、「Task.statuses.keys」を使うことで、次のようなHTMLを生成します。

え?これだけ??

ぶるこ
ぶるこ
にゅ〜ぶる
にゅ〜ぶる

そうね。
valueは数値の方が正しいんじゃないの?って思うかもですが、これでいいんです。そこからEmunがよしなにしてくれるので。

すごぉい💕

ぶるこ
ぶるこ
にゅ〜ぶる
にゅ〜ぶる

Viewを追加したら、ControllerのStrongParameterに追加する必要がありますね。

にゅ〜ぶる
にゅ〜ぶる

追加が出来たら、画面で動かして確認してみましょう。

にゅ〜ぶる
にゅ〜ぶる

Statusの項目が追加されていますね!

にゅ〜ぶる
にゅ〜ぶる

これで完成!
今回のようなステータスなど、1つの項目でいろんな状態を表したい場合などにはEnumを使うと便利ですので、是非使ってみてくださいね!

にゅ〜ぶる
にゅ〜ぶる

今回はここまでだよ。お疲れ様でした!
次回は、「Railsでのデバッグ(byebug)とおまけでbetter_errors」お楽しみにっ!!

次回で最終回だね💕

ぶるこ
ぶるこ

最後まで読んでくれてありがとうございました!

現在、Railsのチュートリアル的な感じで、
「Todoサービスを作る!」をテーマにお送りしております。
アジェンダは、こちら

質問等ありましたら、コメントなりTwitterなりで頂ければ対応させて頂きますので、遠慮なく利用くださいね。