モデルⅠ
class TimeLog < ActiveRecord::Base
has_one :custom_time_fields, :dependent => :destroy
end
モデルⅡ
class CustomTimeFields < ActiveRecord::Base
belongs_to :time_log
end
データベースの観点から上記の設計は
timelogs テーブル + custom_time_field_id (外部キー)
custom_time_fields
したがって、タイムログエントリを削除すると、関連する「 custom_time_field」がレールによって自動削除されます
しかし、次のようなデータベース設計が必要です
表 I:
time_logs
表Ⅱ
custom_time_fields (外部キーとして time_log_id を持つ)
表 I には、表 II のゼロまたは 1 つの関連付けがあります。
上記のデータベース設計を Rails モデルで表すにはどうすればよいですか。time_log を削除すると、関連する custom_time_field エントリが自動的に削除されます。