0

ユーザーがファイルをアップロードできるようにしてから、それらを解析して情報を取り出し、Web アプリケーションの他の部分で使用されるグローバル変数として宣言できるようにしたいと考えています。ファイル アップロード フォームに簡単に入力できることはわかっていますが、ファイルを解析するためのスクリプトはどこに保存すればよいでしょうか。モデル、ビュー、コントローラー、または他の場所の下にあるでしょうか? また、ファイルのアップロード時にこのスクリプトをすぐに実行するようにアプリケーションに指示するにはどうすればよいですか。フォームの <% end %> タグの前にビューに配置しますか? ファイルを解析するとき、アプリケーションの他のすべての部分でそれらの変数を呼び出すことができるように、変数 (おそらく配列) がグローバルに宣言されていることを確認するにはどうすればよいですか?

4

1 に答える 1

0

EventMachineを使用すると、ファイル操作のフォルダーを監視して、それらを処理できます。
ライブラリrb-inotifyも同様に適合します。

# Create the notifier
notifier = INotify::Notifier.new

# Run this callback whenever the file path/to/foo.txt is read
notifier.watch("path/to/foo.txt", :access) do
  puts "Foo.txt was accessed!"
end

# Watch for any file in the directory being deleted
# or moved out of the directory.
notifier.watch("path/to/directory", :delete, :moved_from) do |event|
  # The #name field of the event object contains the name of the affected file
  puts "#{event.name} is no longer in the directory!"
end

# Nothing happens until you run the notifier!
notifier.run
于 2012-12-23T00:57:31.767 に答える