临时文件共享

时间:2014-01-26 08:56:05

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

您好我正在rails应用程序上构建一个ruby。我想共享一个附件最多只有一个小时,之后必须停用该特定链接。 没有做任何 CRON工作可以实现这个目标吗?

我的要求是用户可以上传附件,他们可以共享加密的URL。该URL的最大有效期为一小时。

我想知道是否可以通过不创建任何 CRON作业来实现?如果是的话请帮助我?

1 个答案:

答案 0 :(得分:1)

您可以使用应用程序控制器助手before_filter

class ApplicationController < ActionController::Base
  before_filter :check_expire

  def check_expire
    UrlLink.active.where('expire_time <= ?' Time.now).find_each do |url|
      url.deactive!
    end if UrlLink.active.any?
  end
end

模型

class UrlLink < AB
  scope :active, -> { where(active: true) }

  def deactive!
    update(active: false)
  end
end

但如果您有大型数据库,这项工作会很慢。