I just want to display a pdf that is stored locally - somewhere in my Rails app folders. I don’t want to use complex cloud services, generate a pdf or use fancy routing. I just want to use a tag to point to the file.
<a href=<%= pdf_path_url %>>Who is an...?</a> class PagesController < ApplicationController def home end def Pdf fname = File.join(Rails.root, 'who_is_an_addict.pdf') send_file(fname, :filename=>'who_is_an_addict.pdf', :disposition=>'inline') end end ROUTES <a href=<%= pdf_path_url %>>Who is an... ?</a> Rails.application.routes.draw do root 'pages#home' get 'fems-and-thems' => 'pages#fems-and-thems' get 'asc' => 'pages#asc' get 'whois' => 'pages#who_is_an...' get 'pdf_path' => 'pages#Pdf' # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html # Defines the root path route ("/") # root "articles#index" end
Okay, does this work for you? Or are you having an issue with this approach? One thing I see missing here is any notion of the format. By default, a get is going to prefer text/html, not application/pdf.
I try this work for me thanks…
Put it in the
public folder in your project. Let’s say the file is named
project.pdf. Then just use a normal anchor
<a href="/project.pdf">Click to download</a>