Tôi tự hỏi mức độ nào tôi có thể sử dụng các liên kết trong Rails. Đi vào xem xét những điều sau đây:đường ray has_many: thông qua has_many: thông qua
class User < ActiveRecord::Base
has_one :provider
has_many :businesses, :through => :provider
end
class Provider < ActiveRecord::Base
has_many :businesses
has_many :bids, :through => :businesses
belongs_to :user
end
class Business < ActiveRecord::Base
has_many :bids
belongs_to :provider
end
class Bid < ActiveRecord::Base
belongs_to :business
end
tôi có thể thiết lập các phím tắt tiện lợi như User.businesses
và Provider.bids
nhưng những gì về làm một cái gì đó giống như User.bids
? Có thể liên kết một hiệp hội, để nói không?
Có thể, nhưng cần phải cẩn thận về việc bạn làm tổ sâu sắc như thế nào, bởi vì bạn có thể làm hỏng cơ sở dữ liệu và ứng dụng đường ray của bạn. Điều đó đang được nói, tôi đã viết một bài đăng blog chi tiết cách sử dụng nested_has_many_through để làm điều này: http://kconrails.com/2010/01/28/nesting-has_many-through-relationships-in-ruby-on-rails/ –