3

私はペーパークリップ3.2を備えたレール3.2アプリを持っており、必要なペーパークリップアタッチメント(親指)を持つモデルを持っています。ファイルシステムまたは S3 にファイルを保存せずに有効なオブジェクトを作成するにはどうすればよいですか? 私が現在持っているものは以下のとおりですが、これは実行ごとにファイルシステムに保存されます。毎回アップロードせずに有効なエピソードを持つ方法はありますか?

モデル:

class Episode
  include Mongoid::Document
  include Mongoid::Paperclip
  has_mongoid_attached_file :thumb
  validates_attachment_presence :thumb
end

仕様:

require 'spec_helper'

describe Episode do
  it "has a valid factory" do
    Fabricate.build(:episode).should be_valid
  end
end

製作者:

Fabricator(:episode) do
  thumb { File.open(File.join(Rails.root, 'spec', 'fabricators', 'assets', 'thumb.jpg'))}
end
4

1 に答える 1

6

これを見つけました:

http://room118solutions.com/2011/05/25/stubbing-paperclip-during-testing/

Paperclip 3.0 の場合: Paperclip 3.0 にはいくつかの重要な変更がありました。次のようなものを使用する必要があります。

仕様/サポート/stub_paperclip_attachments.rb

module Paperclip
  class Attachment
    def save
      @queued_for_delete = []
      @queued_for_write = {}
      true
    end

  private
    def post_process
      true
    end
  end

  # This is only necessary if you're validating the content-type
  class ContentTypeDetector
  private
    def empty?
      false
    end
  end
end
于 2012-11-26T12:02:36.200 に答える