この地域で行われている文化イベントの情報を収集する小さなサイトを作成しました。Event
モデルを拡張して、3 つの異なる「ケース シナリオ」のイベントを処理できるようにしたいと考えています。
- 「すなわちシングル」。開始日と終了日がある通常のイベント。
- 「つまりツアー中のバンド」。同じイベントですが、異なる時間に発生します。
- 「すなわち博物館」。月曜日から日曜日の時刻表。
1 と 2 のタイプの最善のアプローチは次のようになると思いました。
イベントモデル
# holds title, description, price....
has_many :dates
accepts_nested_attributes_for :dates
日付モデル
# holds start_time(:datetime) and finish_time(:datetime)
belongs_to :events
3 番目のタイプにアプローチする方法がわかりません。または、より重要なことは、将来の対話をコーディングしやすくする方法でそれを構築する方法です...検索エンジンを構築するなど.
アイデア: Timetable
?という別のモデルを構築する これは保持できます:
boolean types -> Mon - Tue... -Sun
time type -> Mon_start - Tue_start... - Sun_start - Mon_finish - Tue_finsih... - Sun_finish.
ただし、search engine
(日付フィールド/パラメーターを持つ) を更新して、これら 3 つの型すべてを反復処理するのはかなり複雑に思えます。
進むべき道を明確にするアイデア/経験はありますか? よろしくお願いします!