如何在Rails 2.3.9和ruby 1.8.7上使用ruby从文件系统中删除文件

iam*_*toc 2 file-io ruby-on-rails

使用以下命令将文件保存到公共/数据中:

def upload_vault_data        
    if params[:dump][:file]
        uploaded_io = params[:dump][:file]
        File.open(Rails.root.join('public', 'data', "data_#{session[:campaign_id]}_#{uploaded_io.original_filename}"), 'w') do |file|
            file.write(uploaded_io.read)
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

这可以按预期工作,但是一旦文件上传,如何让用户删除文件?

小智 6

Rails允许您使用称为“系统”的方法执行系统命令。

例如。

system 'ls'
Run Code Online (Sandbox Code Playgroud)

此处提供更多信息:使用Ruby on Rails执行脚本吗?

就您而言,您可能可以

system "rm #{path-to-my-file}"
Run Code Online (Sandbox Code Playgroud)