請求書を作成しました。これは管理者から開くことができるはずですが、通常のユーザーとしては開くことができません。この請求書のPDFは、app / Assets/pdfsの特定のビジネスプロセスの後に作成されます。
assets_pdf_url if user_signed_in?
何らかのルールで特定のアセットを制限することは可能ですか?
請求書を作成しました。これは管理者から開くことができるはずですが、通常のユーザーとしては開くことができません。この請求書のPDFは、app / Assets/pdfsの特定のビジネスプロセスの後に作成されます。
assets_pdf_url if user_signed_in?
何らかのルールで特定のアセットを制限することは可能ですか?
制限されたアセットをパブリックフォルダー外のフォルダーに保存して、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