2017-03-16 11 views
1

ruby​​ on the railでディレクトリを作成しようとしています。新しいディレクトリを作成して、古いものを強制的にruby on railに置き換えます。

FileUtils.mkdir()を使用してディレクトリを作成することに成功しましたが、新しく作成されたディレクトリが古いディレクトリに置き換わるようにディレクトリを作成する必要があります。

私はGoogleで多くの検索を行い、FileUtilsのドキュメントも調査していますが、これを実現するためには見つかりませんでした。

これを行う方法はありますか?

+0

古いものを置き換えることを意味しますか?同じ名前の既存のディレクトリがありますか?なぜ既存のものの内容を削除しないのですか? – ndn

+0

ディレクトリが作成されているルートフォルダの所有権を確認し、新しいディレクトリを作成するためのアクセス権があることを確認することができます。 –

+0

@ndn私はすでにこのことを実装しています。古いものを削除して新しいものを作成しますが、レールにルビーの角を統合しました。最初にボタンをクリックしてファイルを作成し、古いものを削除して新しいファイルを作成すると、2回目にボタンを押すと、ファイルに既存のエラーがあります。私はページをリフレッシュしてから、もう一度やり直してみると、最初に古いものと新しいものが作成されます。 – john

答えて

0

なぜディレクトリを削除しませんし、再度作成します。

require 'fileutils' 

FileUtils.rm_rf('directorypath/name') 

または

FileUtils.remove_dir(somedir) 
+0

私はすでにこのことを実装しています。古いものを削除して新しいものを作成しますが、レールにルビーの角を統合しました。最初にボタンをクリックしてファイルを作成し、古いものを削除して新しいファイルを作成すると、2回目にボタンを押すと、ファイルに既存のエラーがあります。私がページをリフレッシュしてから、もう一度やり直してみると、古いものと新しいものが作成されます。 – john

+0

これはjavascriptリクエストの問題のように見えますが、ページをリロードする必要はありませんでした。このアクションをプリフォームするにはajaxを調べますか? –

+0

コーヒースクリプトを使用して、ajaxリクエストを使用してコントローラを呼び出しています。このアプリは角度を使用しているので私は私のページをリロードしたくない。 – john

0

あいにくのfileutilsないrecreate directoryのようなもので。あなたは、すべての利用可能な機能はFileUtils moduleDir classでディレクトリを処理するためにも

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

:しかし、あなたはディレクトリを削除して作成します。

+0

私はすでにこのことを実装しています。古いものを削除して新しいものを作成しますが、レールにルビーの角を統合しました。最初にボタンをクリックしてファイルを作成し、古いものを削除して新しいファイルを作成すると、2回目にボタンを押すと、ファイルに既存のエラーがあります。私はページをリフレッシュしてから、もう一度やり直してみると、古いものと削除されたものが最初に作成され、新しいものが作成されるなど – john

+1

あなたのアプリケーションに関する詳細なしで言うのは難しい –

関連する問題