2017-02-15 2 views
0

Ubuntuのpaperclipファイルアップロードでは、 Windowsでは、PATH変数にRuby Devkitまたはfile.exeをインストールしました。これは役に立ちません!私が取得:WindowsではpaperclipがRuby Devkitで "file"コマンドを使用していますが、 "ArticlesController#createでErrno :: EEXIST"というエラーが返されます

File exists @ sys_fail2 - C:/Users/Lap127/AppData/Local/Temp/3e26e8e7aa5f147d0c6c7ae71efc007220170215-7312-1bv14wq.txt 
Extracted source (around line #24): 

def create 
    @article = Article.new(article_params) #line 24 here 

    if @article.save 
    redirect_to @article 

にはどうすれば新しいファイルが既に存在していること、エラーを取得せずにWindows上のクリップで添付ファイルをアップロードするのですか?

答えて

0

これまでと同様の問題に遭遇していましたが、検索には少し時間がかかりましたが、ここでは一時ファイルとRuby on Windowsの問題がありました。この記事に基づいて

C:\<path_to_ruby_file>\lib\ruby\<version>\tempfile.rb

https://www.ruby-forum.com/topic/187311

私たちのチームは、問題を見つけることができました。

彼らには解決策がありますが、私たちは自分たちで作成しました。 あなたが欲しい(〜ライン204):

def unlink 
    #----ADDED THIS LINE---# 
    return if @unlinked 
    #-----END ADDED LINE----# 
    begin 
    File.unlink(@tmpfile.path) 
    rescue Errno::ENOENT 
    rescue Errno::EACCES 
    # may not be able to unlink on Windows; just ignore 
    return 
    end 
    ObjectSpace.undefine_finalizer(self) 
    @unlinked = true 
end 
alias delete unlink 

それでもこのエラーを取得している場合は、私に知らせて!さらに、一時ファイルの内容が期待どおりであることを確認できれば便利かもしれません。

関連する問題