0

私は2つのモデルを持っていFileますDownload. 同じページの読み込みで、 を読み取りFile(ユーザーに提供)、 を作成したいDownload

私はどちらかを行うことができます:

  1. GET /file/:id
  2. PUT /file/:id/download
  3. 2 を 1 にリダイレクト

このような状況を処理する正しい方法はありますか?

4

2 に答える 2

0

ファイルのダウンロード リンクが :download アクションを指すようにします。ここで、ダウンロードをログに記録し、ファイルをレンダリングできます。

def download
  DownloadLog.create(...)
  render :file => ......
end
于 2012-08-07T21:28:32.607 に答える
0

あなたが必要としているのはafter_filter、あなたのファイルコントローラーにあるだけだと思います。次のようなもの:

  after_filter :log_download, :only => :show

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

これは、同じ効果のリクエストを連鎖させようとするよりもはるかに簡単です。

于 2012-08-07T22:03:41.740 に答える