はじめに
@kirinri さんが 素敵な記事 - Qiita を投稿されているので、それに乗っかってみる
# 完成画面
工夫した点
ユーザを削除した際、当該ユーザのTodoを削除
main.rb
post '/destroy_user' do
Todos.where('users_id = ?', params[:users_id]).destroy_all
Users.find(params[:users_id]).destroy
redirect to('/')
end
activerecord
ってSQLを書かなくてもいいので素敵です。
アイテムの角を丸くする
style.css
.user_btn {
height: 28px;
background-color: #FFAD90;
border-style: none;
border-radius: 5px;
}
後半の3行最後の一行が丸くする処理です
@scivola さんに教えていただきました。
追記
ユーザを削除した場合、リロードされないのでドロップダウンリストに削除したユーザが残ってしまいます。
そのユーザでリストに追加すると例外が発生します。
main.rb
post '/create_todo' do
begin
Todos.create(body: params[:body],users_id: params[:users_id])
rescue => e
end
redirect to('/')
end
例外処理を追加しましたが、スルーしているだけですので褒められたものではないと思います。
まとめ
- @kirinri さんありがとうございました
- Sinatra でtodoリストを作った
- ActiveRecord が便利すぎる
参照したサイト
Sinatraで家族用todoリストを作る