如何创建ruby脚本来解析用户上传的文件?

时间:2012-12-23 00:31:41

标签: ruby-on-rails parsing ruby-on-rails-3.1

我希望用户能够上传文件,然后我希望能够解析它们,取出一些信息,然后将它们声明为全局变量,供我的Web应用程序的其他部分使用。我知道您可以轻松放入文件上传表单,但是我会在哪里存储解析文件的脚本?它会在模型​​,视图,控制器或其他地方吗?另外,如何告诉我的应用程序在文件上传时立即运行此脚本。我会在表单的<%end%>之前将它放在视图中吗?标签?当它解析文件时,如何确保变量(可能是数组)全局声明,以便我可以在应用程序的所有其他部分调用这些变量

1 个答案:

答案 0 :(得分: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