Rails入門を読んで、CRUDアプリを作ってみました。
入門ガイドで使われるアプリケーションなので、当然なのですが、実際の業務で使うにはちょっと不便な感じです。
業務アプリでお客様からよく出される要求に対して、Railsではどうやって実装(または設計)するのがいいかを考えたり調べたりしたら、勉強になるんじゃないかなと思い立ち、WEBアプリケーションの要件でよくあるものを並べてみました。
検索
-
条件で検索したい -> Railsで条件検索
-
複数の条件で検索したい -> Railsで条件検索
-
検索結果をページ送りにしたい
- -> kaminariを使う
-
検索結果の並び順を指定したい
- ransackのヘルパーメソッドでできる
-
条件に該当した件数を表示したい
@models.size
-
検索結果をCSV出力したい
-
よく使う検索条件を登録して呼び出せるようにしたい
-
画面遷移で検索結果が消えないようにして欲しい
登録
- 登録時に項目間の関連チェックしたい
- 登録する前に確認画面を出して欲しい
- CSVファイルから一括登録したい
- 悪い人が自作フォームで登録できないようにして欲しい
- 登録ボタンを連打しちゃう人がいても大丈夫なようにして欲しい
- 選択式の項目で親子関係があるものは絞り込んで欲しい
更新
- 変更した項目だけを更新して欲しい
- 変更した履歴を残したい
- 誰が変更したのか分かるようにしたい
- 他の人が変更してたら教えて欲しい
- 検索結果に対する一括操作がしたい
削除
- 削除は削除フラグを立てる方式にしたい
その他
- 件数とか合計を集計したい
- 集計したら帳票としていい感じに出力したい
要件以外の課題
- たくさんある小さなマスタを共通化したい
- マスタの初期データを一括登録したい
- 開発用のデータをCSVから一括で登録したい
つらつらと挙げていたら結構な数になってしまいました。書いてるうちにイヤな思い出ばかり蘇ってきます。。
他にもあると思うので思いついた方はコメントで教えて欲しいです。