1

2 つの関連付け (full_image と preview) 内に 2 つの Paperclip 添付ファイルを持つデザイン モデルがあります。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

Try : validates_attachment_presence の代わりに関連モデル内で :attachment, :presence => true を検証します

于 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 に答える