在RoR中创建一个文件,然后以JSON

时间:2016-06-03 02:20:18

标签: ruby-on-rails ruby-on-rails-4

我正在制作一个API,它可以生成文件并发送链接到以后再下载。

我现在所拥有的是

  • 在public / XXX
  • 中生成的文件
  • 此文件的绝对路径。

这是否是放置此类生成文件的正确位置?

如何在我的控制器中为此文件生成URL?

2 个答案:

答案 0 :(得分:0)

我建议使用像carrierwave这样的东西。

https://github.com/carrierwaveuploader/carrierwave

在此创建一个上传器,将其安装在模型的列上,并使用column_url获取文件名。

答案 1 :(得分:0)

我所做的是在我的控制器中进行下载操作。

  def download
    send_file "#{Rails.public_path}/#{params[:path]}.#{params[:format]}"
  end

在我的路线文件中使用适当的路线:

  get '/controller/download/:path' => 'controller#download'

并生成网址:

url_for(:controller => : controller, :action => :download, :path => "a_path")