У меня есть следующие модели с соответствующими ассоциациями:
class User < ActiveRecord::Base
has_many :reviews
has_many :ratings
end
class Product < ActiveRecord::Base
has_many :reviews
has_many :ratings
end
class Review < ActiveRecord::Base
belongs_to :product
belongs_to :user
end
class Rating < ActiveRecord::Base
belongs_to :product
belongs_to :user
end
Учитывая конкретный Rating
, мне нужно перейти к соответствующему Review
(если обзор существует).
Мне нужно, чтобы ratings
и reviews
были слабо связаны. (Я не хочу настраивать свою модель так, чтобы Review
belongs_to
a Rating
)
Как мне установить rating's
связь с reviews
?
Как только я работаю с определенным рейтингом в представлении, я могу позвонить @rating.product.reviews.where(:user_id => @rating.user.id).first
, но я бы хотел, чтобы он был чище / более эффективным, если это возможно.
Есть идеи?
Спасибо.