0

次のスキーマを持つ User テーブルがあります。

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アクセスすることも、その逆も可能です。userride

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

モデル User、Ride、および Booking を作成します。booking.ride.from次に、 、を使用できますuser.bookings.last.ride.to。これはすべてここで説明されていますhttp://guides.rubyonrails.org/association_basics.html

于 2013-02-13T12:37:11.213 に答える