2013-12-21 68 views
-2

在我的数据库中,我有两个机票在两边形成的航班。所以,要创建航班对象,我应该在双方中创建两张票。票据在数据库“飞行方向”中具有两个值:1)“there”2)“from”。我无法弄清楚如何制作表格,我可以一次创建两张不同面的门票。我应该创建两个类似的表还是一个?

回答

0

您可以通过在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记录。

+0

感谢您的帮助!但是我填写票据数据时,我从两张表格中创建了这两张票。事情是这样的: 客位机票 高清新 ticket_there = Ticket.new(flight_direction: '有') ticket_back = Ticket.new(flight_direction: '回') 结束 结束 – Igor

相关问题