我有一个具有以下架构的用户表:
User -- id , name , age etc
和具有以下架构的 Ride 表:
Ride -- id , from , to etc.
我还有一个带有架构的 Bookings 表:
Booking - id, User_id, Ride_id
有什么方法可以描述有关乘车的详细信息from , to etc
以及有关进行预订的用户的详细信息?
我有一个具有以下架构的用户表:
User -- id , name , age etc
和具有以下架构的 Ride 表:
Ride -- id , from , to etc.
我还有一个带有架构的 Bookings 表:
Booking - id, User_id, Ride_id
有什么方法可以描述有关乘车的详细信息from , to etc
以及有关进行预订的用户的详细信息?
假设你有以下关系:
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
创建模型用户、乘车和预订。然后你可以使用booking.ride.from
, user.bookings.last.ride.to
。这一切都在这里解释http://guides.rubyonrails.org/association_basics.html。