【Sinatraで運動記録アプリ③】Flashメッセージ・session

こんにちは、Mako(@makokamiya)です。
今回は、SinatraでFlashメッセージとsessionをを使えるようにする方法をまとめていきます。
ソースコード:https://github.com/mako4kamiya/undouno_kiroku_app
アプリURL :https://undouno-kiroku-app.herokuapp.com/
ちょっとファイル整理
いままではapp.rbにルーティングを書いていましたが、
モデルのバリデーションや、メソッドなどを書きたいなと思ったので、
route.rb、models.rb、helpers.rbとファイルをわけました!
- route.rb : ルーティングを書く。ルーティング以外はここに書きたくない。
- models.rb : userモデルや他のモデルのバリデーションを書く。
- helpers.rb : route.rbやerbに使うメソッドはここに書く。ここにテキストを入力
SinatraでFlashメッセージ
Flashメッセージとは、「ログインに成功しました!」や「登録されていません」などというな、簡易的なメッセージを表示させる機能です。
Railsでは、flash[:danger] = “Please log in.”のように文字列を代入すると使えるんですが、Sinatraでは使えませんでした。
Sinatraで実装するには、Gemを追加します。
gem 'sinatra-flash'
flash[:danger] = "登録されていません。"
<% flash.each do |message_type, message| %>
<div class="<%="alert alert-#{message_type}"%>"><%= message %></div>
<% end %>
Sinatraでsessionを使えるようにする
Sinatraでsessionを使うには、下記を追加することで使えるようになります!
enable :sessions
まとめ
最後まで読んでくれてありがとうございました!
今回はちょっとさらっとまとめちゃったので、
ぜひソースコードをお読みくださいw
ソースコード:https://github.com/mako4kamiya/undouno_kiroku_app
アプリURL :https://undouno-kiroku-app.herokuapp.com/
間違った箇所があればコメントで教えていただけると幸いです(๑◔‿◔๑)