1

我有一个设计模型,它在两个关联(完整图像和预览)中有两个回形针附件。我希望只有在 full_image 和 preview 都具有有效文件但似乎无法使其工作时才能保存设计。现在这是我期望的工作,但它不仅仅是在我提交表单时不验证附件。

class Design < ActiveRecord::Base

  has_one :full_image, :as => :assetable, :class_name => "FullImage", :dependent => :destroy
  has_one :preview   , :as => :assetable, :class_name => "Preview"  , :dependent => :destroy

  accepts_nested_attributes_for :full_image, :preview
  validates_associated :preview, :full_image

end

class Asset < ActiveRecord::Base
    belongs_to :assetable, :polymorphic => true
    delegate :url, :to => :attachment
end

class FullImage < Asset
    has_attached_file :attachment
    validates_attachment_presence :attachment
end

class Preview < Asset
    has_attached_file :attachment
    validates_attachment_presence :attachment
end

有人可以建议我应该做什么吗?

4

2 回答 2

1

尝试 : validates :attachment, :presence => true 在关联模型中而不是 validates_attachment_presence

于 2013-03-19T06:31:30.680 回答
0

这是我如何让它工作的

class Design < ActiveRecord::Base

  has_one :full_image, :as => :assetable, :class_name => "FullImage", :dependent => :destroy
  has_one :preview   , :as => :assetable, :class_name => "Preview"  , :dependent => :destroy

  accepts_nested_attributes_for :full_image, :preview

  validates_presence_of :preview
  validates_presence_of :full_image

end

class Asset < ActiveRecord::Base
    belongs_to :assetable, :polymorphic => true
    delegate :url, :to => :attachment
end

class FullImage < Asset
    has_attached_file :attachment
end

class Preview < Asset
    has_attached_file :attachment
end
于 2013-03-19T09:22:37.760 回答