Rails アプリのデータ モデルを作成しようとしています。
基本的に、4 つの異なる場所のレコードを含む場所テーブルがあります。毎日、場所ごとにタイムスロットを作成しようとしています。例えば。Location1 には午前 9 時のスロットが 5 つ、午前 11 時のスロットが 5 つなどがあります。
ここで、特定のタイムスロットの場所の手配を作成できる必要があります。
現在、私はこのアプリを動作させています。唯一の問題は、アレンジメントを保存するときに、タイムスロット レコードをアレンジメント ID で更新する必要があり、毎日のすべての場所のタイムスロットごとにレコードが存在する必要があることです。
これを行うためのより良い方法が必要であることはわかっています。
ここに私の現在のデータモデルがあります:
これが私の現在のモデル設定です:
class Location < ActiveRecord::Base
has_one :arrangement
has_many :timeslots
end
class Timeslot < ActiveRecord::Base
belongs_to :location
has_one :arrangement
end
class Arrangement < ActiveRecord::Base
belongs_to :location
belongs_to :timeslot
end
そして、これが配置コントローラーの現在の create メソッドのスニペットです。
if @arrangement.save
# update the timslot record with the arrangement id
if @timeslot = Timeslot.update(@arrangement.timeslot_id, :arrangement_id => @arrangement.id)
このデータ モデルを改善するにはどうすればよいですか?
編集 理想的には、すべての場所と毎日のタイムスロットを入力する必要がないデータモデルを探しています。
理論的には、タイムスロット テーブルに手動で入力する必要がないように、すべての場所のすべてのタイムスロットのみを持つタイムスロット テーブルが必要です。
私が心配している最大のことは、次の 30 年間、タイムスロット テーブルにデータを入力しなければならないことです。