tôi có mô hình dữ liệu sau trong Rails của tôi 2.3 ứng dụngRails has_one: thông qua. Xây dựng liên quan đến đối tượng
class PortraitSubject
has_many :portraits
has_one :primary_portrait, :through => :portraits, :source => :asset, :conditions => ['portraits.primary = ?', true]
has_many :supplementary_portraits, :through => :portraits, :source => :asset, :conditions => ['portraits.primary = ?', false]
...
end
class Portrait
belongs_to :portrait_subject
belongs_to :asset
...
end
Tôi muốn xây dựng các mô hình ủy quyền liên quan đến sử dụng Rails nhưng cố gắng xây dựng primary_portrait
không thành công với một ngoại lệ. I E.
# This works
subject = PortraitSubject.new
subject.supplementary_portraits.build
subject.save
# This doesn't
subject = PortraitSubject.new
subject.build_primary_portrait
# => NoMethodError: undefined method `build_primary_portrait' for #<PortraitSubject:0x007ff16fe38948>
Tôi không chắc mình đang làm gì sai. Nhìn qua các hướng dẫn Rails, có vẻ như điều này có thể xảy ra với mối quan hệ has_one
. Mọi sự trợ giúp sẽ rất được trân trọng.
bạn có chắc bạn có thể xây dựng ': hiệp hội through'? Nếu bạn vui lòng cung cấp liên kết – Zippie