Я пытаюсь добавить ссылку на скачивание PDF в блог, который я создал, и у меня возникают проблемы со ссылками.
Я просмотрел несколько SO сообщений (например, this и это ), чтобы продвинуться так далеко, как у меня, но, видя, как я работаю с переменными (потому что я на blogs#show
, они только меня дошли.
В моей форме,У меня есть @blog.link_text
для точного текста ссылки, который должен отображаться на странице (например, «Загрузить PDF для печати для заметок») и @blog.link_filename
для хранения пути к PDF, который следует загрузить.
Вкл. blogs#show
У меня есть следующая ссылка в ERB:
<h3>
<%= link_to download_pdf_path(@blog.link_filename), type: "application/pdf" do %>
<%= @blog.link_text %>
<% end %>
</h3>
Тогда в моем routes.rb
У меня есть это:
get "download_pdf", to: "blogs#download_pdf"
Наконец, в моем blogs_controller.rb
У меня естьметод download_pdf
:
def download_pdf(filename)
send_file filename, type: "application/pdf"
end
В настоящее время у меня "app/assets/images/house_tour_notes.pdf"
в качестве значения @blog.link_filename
, но я пробовал множество других значений. В настоящее время у меня есть копия PDF в images
и в public
.
Ссылка правильно отображается на странице, но когда она нажимается, я получаю:
No route matches [GET] "/download_pdf.%22app%2Fassets%2Fimages%2Fhouse_tour_notes.pdf%22"
Может кто-нибудь помочь устранить неполадку? Где я?идет не так?