Попытка показать PDF путем связывания с URL из www.testsite.com/documents/sample.pdfПоказать PDF в Ruby On Rails активов
Я использую скрепку, чтобы загрузить PDF, и можно увидеть, что pdf есть.
has_attached_file :file,
:url => ":rails_root/documents/:filename",
:path => ":rails_root/public/assets/documents/:id/:filename"
validates_attachment :file, :content_type => {:content_type => %w(image/jpeg image/jpg image/png application/pdf application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document)}
Я также использую gem 'friendly_id'
так, что я могу найти свой закачанный экземпляр файла sample.pdf с описанием и названием.
При вводе этой страницы (http://localhost:3000/documents/sample.pdf
), хотя, я получаю:
Missing template /document with {:locale=>[:en], :formats=>[:pdf], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}
Я предполагаю, что это что-то делать с :formats=>[:pdf]
.
Когда я создаю <%= link_to "document", asset_path(document.file.url) %>
, я получаю эту ссылку:
http://localhost:3000/Users/user/Desktop/testsite/documents/sample.pdf?1473447505
который я хотел бы быть больше как:
http://localhost:3000/documents/sample.pdf
Мои Маршруты Файл:
Rails.application.routes.draw do
resources :documents
root 'main_pages#home'
get 'home' => 'main_pages#home'
get '*path' => redirect('/')
end
Я не уверенный, что я буду делать это правильно.
Любые предложения были бы замечательными.
вы можете поделиться своим файлом маршрута. –
@Udaykumardas Я поставил суть этого вопроса в вас. Но в основном я просто включаю этот файл в класс под названием «Документ». 'Document' имеет': name,: description,: file, 'и': slug'. Файл: файл загружается в папку 'assets/documents /'. Здесь я хотел бы получить доступ к pdf-файлу, но с использованием URL-адреса, например: www.testsite.com/documents/sample.pdf – Corey