我应该创建两个相似的表还是一个?

时间:2013-12-21 02:30:20

标签: ruby-on-rails ruby database

在我的数据库中,我有两个由两张机票组成的航班。因此,要创建飞行物体,我应该在两侧创建两张票。票证在数据库“飞行方向”中具有两个值的字段:1)“那里”2)“来自”。我无法弄清楚如何制作表格,我可以同时创建两张不同边的门票。

1 个答案:

答案 0 :(得分:0)

您可以通过在Flight模型中使用回调来实现此目的。创建Flight后(=初始化并保存到数据库),将执行此回调。

class Flight
  has_many :tickets
  ...
  after_create :create_tickets

  def create_tickets
    tickets.create(flight_direction:  'from')
    tickets.create(flight_direction:  'there')
  end
end

这将在数据库中自动创建与Flight记录关联的两个Ticket记录。