同じにやっても動かない

書いてある通りやっているのに動かないのです

RspecのControllerテストでDragonflyのモデルに新規レコードを登録する

RspecのControllerテストでの添付ファイルの作り方がよくわからなかったのですが、こんな感じでできましたのでメモ。


Dragonflyのモデル定義のphoto.rbはこんな感じ。

class Photo < ActiveRecord::Base
  attr_accessible :photo_image
end


photo_controller_spec.rbはこんな感じです。

describe PhotosController do
  filepath = "/OK.jpg"
  post :create, photo: { photo_image: fixture_file_upload(filepath, 'image/jpg') }

  it do
    response.response_code.should == 200
  end
end


fixture_file_uploadにアップロードしたいファイルのパスを渡して、content-typeを指定するだけで、temp fileとしてアップロードしてくれます。

filepathは、"$APP_ROOT\spec\fixtures" 以下のパスを指定します。

ではでは。