0

我创建了账单,应该可以从管理员打开,但不能作为普通用户打开。此账单 pdf 将在 app/assets/pdfs 中的某些业务流程之后创建。

 assets_pdf_url if user_signed_in?

是否可以通过某些规则限制特定资产?

4

1 回答 1

1

将受限资产存储在公用文件夹之外的某个文件夹中,因此仅通过访问 URL 就无法访问它们,然后创建使用 send_file 或 send_data 的操作。这样你就可以用你想要的任何逻辑来包装它。

# in controller
def show
  @bill = Bill.find(params[:id])
  if user_signed_in?
    send_file Rails.root.join('bill_pdfs',"#{@bill.id}.pdf")
  else
    redirect_to '/', :error => "Only logged in users may download"
  end
end
于 2012-07-20T20:30:26.413 回答