クリップクリップの画像アップロードをシミュレートする2つのキュウリのシナリオがあります。シナリオが完了したら、これらのフォルダをもう一度削除します。 :URL =>キュウリシナリオ後のフォルダを削除する
私は、次の添付ファイルのフォルダ構造持つ "/システム/:添付ファイル/:listing_id /:ID /:STYLE_:ファイル名"
ペーパークリップが自動的にを削除します。id /: style_:ファイル名フォルダで、親フォルダではありません。
私はリスティングが削除されたときにリスティングIDの画像フォルダを削除するのに効果的な私のリスティングコントローラ(1リスティングは多くの画像があります)に次のようなことがあります。私はステップが実行された後、Cucumberで同じものをシミュレートする必要があります。
def destroy
@listing = Listing.find(params[:id])
# if destroy was a success, remove the listing image folder
if @listing.destroy
end
require 'fileutils'
dir = Rails.root + '/system/photos/' + @listing.id.to_s()
FileUtils.rm_rf(dir)
respond_to do |format|
format.html { redirect_to(listings_url) }
format.xml { head :ok }
end
end
I)を削除するには、キュウリを言うことができる :シナリオを実行しているか、b)の最終段階としてリストを削除するには、キュウリを伝えた後listing_idフォルダ名を?
私はキュウリenv.rbファイルにこれを追加しようとしました:
AfterStep('@paperclip') do
# This will only run before steps within scenarios tagged
# with @cucumis AND @sativus.
# delete folders that were created with paperclip during the test
require 'fileutils'
#@listing.id = 55
#dir = Rails.root + '/system/photos/' + @listing.id.to_s()
dir = Rails.root + '/system/photos/55' # NOT WORKING
FileUtils.rm_rf(dir)
end
しかし、それは、1)私はそのシナリオからの@ listing.idを取得する方法がわからないので、問題が発生し、 2)私がハードコーディングしても(上のように)、それはそれを取り除かない。
どのような考えですか?