2014-06-05 22 views
7

Tôi có hai mô hình cho Hiển thị và Hiệu suất (hiển thị dưới dạng chương trình phát hoặc chương trình hài). Chúng được liên kết như thế này trong các mô hình:phạm vi đường ray thông qua liên kết has_many

class Show < ActiveRecord::Base 
    has_many :performances, :dependent => :destroy 
    accepts_nested_attributes_for :performances 
end 

class Performance < ActiveRecord::Base 
    belongs_to :show 
end 

Trong mô hình hiệu suất có một giờ được gọi là: start_time.

Làm cách nào để xác định phạm vi trong mô hình trả về tất cả các chương trình có ít nhất một hiệu suất có: start_time là trong tương lai không?

Ngoài ra, làm cách nào để xác định phạm vi trả về tất cả các Chương trình không có bất kỳ buổi biểu diễn nào trong đó: start_time là trong tương lai?

+0

câu hỏi của bạn là gì? – kikicarbonell

+0

Tôi nghĩ rằng nó đã được rõ ràng. Tôi sẽ thuật lại nó thành câu hỏi. Có hai. –

+0

ok ... @ KevinM nếu đề xuất của tôi là đúng, vui lòng xác nhận nó là giải pháp – kikicarbonell

Trả lời

7
class Show < ActiveRecord::Base 
    has_many :performances, :dependent => :destroy 
    accepts_nested_attributes_for :performances 

    scope :shows_with_pending_performance, includes(:performances).where("performances.start_time >= ? ", Date.today) 
end 

class Performance < ActiveRecord::Base 
    belongs_to :show 
end 
Các vấn đề liên quan