我的Rails应用中有两个模型:Listing
和ListingPhoto
。我想在我的模型上设置某种范围,删除没有嵌套Listing
的{{1}}。这些是从外部API引入的,所以我没有简单的方法来控制这些保存。
ListingPhoto
看起来像这样:
Listing
class Listing < ActiveRecord::Base
acts_as_taggable_on :listing_types
has_many :listing_photos
accepts_nested_attributes_for :listing_photos, allow_destroy: true
private
end
看起来像这样:
ListingPhoto
我需要添加到class ListingPhoto < ActiveRecord::Base
belongs_to :listing
validates :listing, presence: true
mount_uploader :photo, PhotoUploader
end
模型中以停止显示空照片集的商家信息?
答案 0 :(得分:2)
您可以在清单模型中添加静态方法:
def self.with_photos
includes(:listing_photos).where.not(:listing_photos => {:listing_id => nil})
end
然后只需轻松致电:
Listing.with_photos