2017-03-16 25 views
1

我想在rails上創建ruby目錄。創建新的目錄,以強制替換軌道上的紅寶石老版本

我已成功使用FileUtils.mkdir()創建目錄,但我需要創建目錄,以便新創建的目錄替換舊目錄。

我在谷歌上搜索了很多,也研究了FileUtils的文檔,但找不到實現這一點。

有什麼方法可以完成它?

+0

你是什麼意思代替舊的?有一個同名的現有目錄?爲什麼不直接刪除現有的內容呢? – ndn

+0

您可能需要檢查目錄所在的根文件夾的所有權,並確保它有權創建新目錄。 –

+0

@ndn我已經實現了這個東西。刪除舊的,創建一個新的,但我已經整合角和紅寶石在軌道上,當我通過單擊按鈕創建文件第一次刪除舊的和創建一個新的,但第二次按下按鈕,它給了我文件存在錯誤。如果我刷新頁面,然後再試一次,那麼第一次舊的刪除,並創建一個新的。 – john

回答

0

爲什麼不刪除的目錄,然後重新創建它:

require 'fileutils' 

FileUtils.rm_rf('directorypath/name') 

FileUtils.remove_dir(somedir) 
+0

我已經實現了這個東西。刪除舊的,創建一個新的,但我已經整合角和紅寶石在軌道上,當我通過單擊按鈕創建文件第一次刪除舊的和創建一個新的,但第二次按下按鈕,它給了我文件存在錯誤。如果我刷新頁面,然後再試一次,然後第一次刪除舊的,並創建新的,等等。 – john

+0

它看起來像一個javascript請求的問題,你是否不得不重新加載頁面,查看Ajax來執行此操作? –

+0

我正在使用咖啡腳本來使用ajax請求調用控制器。我不想重新加載我的網頁,因爲這個應用程序正在使用角度。 – john

0

不幸的文件實用程序沒有這樣的東西作爲recreate directory。但是,如果刪除,並創建目錄:

FileUtils.rmdir('your_dir') 
FileUtils.mkdir('your_dir') 

你可能所有可用的函數來處理目錄中FileUtils moduleDir class

+0

我已經實現了這個東西。刪除舊的,創建一個新的,但我已經整合角和紅寶石在軌道上,當我通過單擊按鈕創建文件第一次刪除舊的和創建一個新的,但第二次按下按鈕,它給了我文件存在錯誤。如果我刷新頁面,然後再試一次,那麼第一次舊的刪除和新的創建等 – john

+1

如果沒有關於您的應用程序的詳細信息很難說 –