我对我的架构做了一些错误,但我不明白究竟是什么以及如何让它像我想的那样工作:
这是schema.rb的一部分:
create_table "seats", force: :cascade do |t|
t.integer "airplane_id"
t.string "row"
t.integer "column"
end
create_table "flights", force: :cascade do |t|
t.integer "route_id"
t.integer "airplane_id"
end
create_table "flights_seats", id: false, force: :cascade do |t|
t.integer "flight_id"
t.integer "seat_id"
t.integer "booking_id"
end
预订课没有什么有趣的
答案 0 :(得分:1)
我想解决方案可能是让预订更有趣:)
带有三个对象id的flights_seats是一个红旗。
这个怎么样:
Booking
belongs_to :flight # flight_id column
has_many :tickets
Ticket
belongs_to :booking # booking_id column
belongs_to :seat # seat_id column
# remove flights_seats
我不知道您的所有需求,但我认为这会让您朝着正确的方向前进。