私は現在、講師と一緒にワークショップクラスを予約するためのRuby on Railsアプリケーションを構築しています。私はモデルのセットアップに関するいくつかのアドバイスを求めています。Rails App - 予約タイムスロットスキーマ設定
私はすでにthis & thisのスタックオーバーフロースレッドを見ましたが、私の質問には答えていません。
機能が必要:
- インストラクターを加えてさらに1オフタイムスロットを開放できるようにする必要があり
- インストラクターをご予約のために利用可能な毎週繰り返しタイムスロットを設定できるようにする必要があります毎週繰り返すスロットへ
- インストラクターは、利用可能なタイムスロットを一度に削除する必要があります。教師は、これだけの時間を一時間の長い開始され
- すべてのクラスは
私の現在の提案:
私は三つのモデルと3つのテーブルを、それを設定し検討しています。 3つのモデルはすべて、コントローラworkshop
に接続します。
例データでは、次のシナリオを使用しています。トムはMon & Tue 9amにクラスを持っていますが、来週のみ、水曜日に開催するTueクラスを切り替える予定です。
私は、すべての教師のクラスをリストアップしたモデルを持っているということです。私は先生のクラスのそれぞれのための定期的なタイムスロットのための別のモデルを持っています。 workshop_times_recurring
テーブルにリンク
ID | Workshop Name | Price
1 | Tom's Class | 100
workshop_times_recurring
モデル:workshop
テーブルにリンク
workshop
モデル:私は、毎週繰り返しクラスの時間に「変化」のリストとして機能例外の3番目のモデルを持っています: workshop_times_other
テーブルにリンク
ID | Workshop ID | Times
1 | 1 | {Monday 0900, Tuesday 0900}
workshop_times_other
モデル:
ID | Workshop ID | Type | Time
1 | 1 | Active | {2017May31 09am}
2 | 1 | Inactive| {2017May30 09am}
私の質問は以下のとおりです。
- が、これは私のアプリのためのモデルを設定するための最もエレガントな方法だと私は完全にオフトラックじゃありませんか?そうでない場合、よりよい解決策は何ですか?
- 私は
'Monday 0900, Tuesday 0900'
と'2017May31 09am'
のような文字列を解析して、javascript駆動の日時選択カレンダーに情報が正しく表示されるようにしたいと考えています。現在の設定でフロントエンドでこれを達成できますか?
偉大な、私は見てみましょう、ありがとう – michaelqz