0

SoXを使用してオーディオファイルを変換するアプリケーションがあります。同じコードは

system "sox public/sound/recording.wav  public/sound/recording.mp3"

これは私の開発マシンでは問題なく動作しますが、テスト サーバーでは動作しません。また、このコードを Rails コンソールで実行すると、テスト サーバーでうまく動作します。後でコードを以下に変更しました

file1 = Rails.root.join("public/sound/recording.wav")
file2 = Rails.root.join("public/sound/recording.mp3")
system "sox #{file1} #{file2}"

これはサーバー上で機能しました。だから私は2つの質問があります

  1. 以前のコードが開発マシンでは機能したが、テスト サーバーでは機能しなかったのはなぜですか?
  2. また、以前のコードが Rails コンソールから呼び出されたときに機能したのはなぜですか?
4

1 に答える 1

0

権限の問題である可能性があります。Web サーバーが実行されているアカウントには、public/sound への書き込みアクセス権がありますか。これは、Rails コンソールで機能した理由を説明します。なぜなら、あなたは自分としてログインしていたはずであり、ディレクトリを作成したアカウントでもあると思います。

于 2013-09-20T12:44:41.877 に答える