-2
在我的数据库中,我有两个机票在两边形成的航班。所以,要创建航班对象,我应该在双方中创建两张票。票据在数据库“飞行方向”中具有两个值:1)“there”2)“from”。我无法弄清楚如何制作表格,我可以一次创建两张不同面的门票。我应该创建两个类似的表还是一个?
在我的数据库中,我有两个机票在两边形成的航班。所以,要创建航班对象,我应该在双方中创建两张票。票据在数据库“飞行方向”中具有两个值:1)“there”2)“from”。我无法弄清楚如何制作表格,我可以一次创建两张不同面的门票。我应该创建两个类似的表还是一个?
您可以通过在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
这会自动在数据库中创建两个与航班记录相关联的Ticket记录。
感谢您的帮助!但是我填写票据数据时,我从两张表格中创建了这两张票。事情是这样的: 客位机票 高清新 ticket_there = Ticket.new(flight_direction: '有') ticket_back = Ticket.new(flight_direction: '回') 结束 结束 – Igor