在一个页面加载中执行两个restful操作

时间:2012-08-07 18:18:06

标签: ruby-on-rails ruby-on-rails-3 rest

我有两个模型,FileDownload。在同一页面加载中,我想阅读File(向用户提供)并创建Download

我可以这样做:

  1. GET /file/:id
  2. PUT /file/:id/download
  3. 2重定向到1
  4. 有没有正确的方法处理这种情况?

2 个答案:

答案 0 :(得分:0)

让您的文件下载链接指向:下载操作,您可以在其中记录下载然后呈现您的文件:

def download
  DownloadLog.create(...)
  render :file => ......
end

答案 1 :(得分:0)

我怀疑你需要的只是文件控制器上的after_filter。有点像:

  after_filter :log_download, :only => :show

  protected
  def log_download
    # code to log a download after the show action
  end

这比尝试将请求链接到同一效果要简单得多。