3

仮想属性に基づいて後処理をスキップするにはどうすればよいですか?

私の仮想属性は常に before_asset_post_process コールバックで nil です

作成

attachment = Attachment.create(asset: File.open(file.png), :skip_thumb => 1)

取付可能機種

class Attachment < AR::Base
 attr_accessor :skip_thumb

  has_attached_file :asset, :styles => lambda  { |attachment| { :thumb =>  ["100>", 'jpg'] ,
                                                                       :thumb_big =>   ["200>", 'jpg']
                                                                     }
  before_asset_post_process :proceed_or_cancel

  def proceed_or_cancel
    #self.skip_thumb is always nil
    if (self.skip_thumb.present?)
      return false 
    end
  end 

end
4

2 に答える 2

0

モデルで使用attr_accessibleしていますか?Attachmentその場合、これが含まれていない場合、skip_thumb一括割り当てを介して割り当てようとすると、(黙って) 失敗します。

の反対attr_accessibleは、そこにあるattr_protected場合は、skip_thumbそれを削除します。

于 2012-11-02T21:22:47.460 に答える