Rails建模与相关图像并为此模型选择主图像

时间:2016-07-05 16:38:53

标签: ruby-on-rails associations paperclip

我想问一下,在更新main_image并删除更多情侣图像等后,如何从图像关联中正确选择主图像?
我有这个代码:
这是主要模式:

fwrite(fptr, ...);

这是相关模型:

class Gallery < ApplicationRecord
  has_many :paintings, inverse_of: :gallery
  belongs_to :primary_painting, class_name: 'Painting', required: false
  accepts_nested_attributes_for :paintings, reject_if: :all_blank, allow_destroy: true

  before_validation :primary_painting_setup

  private

  def primary_painting_setup
    self.primary_painting = paintings.any? ? paintings.select(&:primary?).first || paintings.first : nil
  end
end

基本上,gallery在索引页面上有main_image,它是从关联绘画中选择的 但是f.e.如果我删除所有图像并添加一个新图像并将其设置为主图像。它不起作用,因为在class Painting < ApplicationRecord belongs_to :gallery, inverse_of: :paintings has_attached_file :image, styles: { medium: '300x300>', thumb: '100x100>' }, default_url: '/images/:style/missing.png' validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/ end 的舞台上,我只有旧图像,对我来说根本没用。

当然,每次渲染图库时,我都可以使用帮助器或模型方法,例如before_validation,但速度太快。

你能建议更合适的选择吗?也许有一个魔法关联,这将有所帮助。

0 个答案:

没有答案