0

我有一个具有以下架构的用户表:

User -- id , name , age etc

和具有以下架构的 Ride 表:

Ride -- id , from , to etc.

我还有一个带有架构的 Bookings 表:
Booking - id, User_id, Ride_id

有什么方法可以描述有关乘车的详细信息from , to etc以及有关进行预订的用户的详细信息?

4

2 回答 2

2

假设你有以下关系:

class User < ActiveRecord::Base
  has_many :bookings
  has_many :rides, :through => :bookings
end

class Booking < ActiveRecord::Base
  belongs_to :user
  belongs_to :ride
end

class Ride < ActiveRecord::Base
  has_many :bookings
  has_many :users, :through => :bookings
end

您可以检索任何您想要的信息。

booking = Booking.find(1)
booking.user.name
=> #return user name
booking.ride.from
=> #return ride from
etc

此外,:through允许您user直接访问,ride反之亦然:

user = User.find(1)
user.rides
=> #return all rides for that user
于 2013-02-13T12:40:39.613 回答
0

创建模型用户、乘车和预订。然后你可以使用booking.ride.from, user.bookings.last.ride.to。这一切都在这里解释http://guides.rubyonrails.org/association_basics.html

于 2013-02-13T12:37:11.213 回答