Как пользователь-администратор в своем приложении я могу создать членство и прикрепить файл PDF (используя скрепку)
На мой взгляд, тогда я хотел бы иметь возможность щелкнуть ссылку, чтобы загрузить этот PDF-документ для этого конкретного членства.
Таким образом, Active Admin позволяет вам создать собственное действие (а также сгенерирует для вас маршрут)
ActiveAdmin.register Membership do
collection_action :download_pdf, method: :get do
end
end
На мой взгляд, у меня есть
column 'File' do |f|
link_to('Download Membership Form', download_pdf_admin_memberships_path)
end
Пытаясь собрать кусочки, у меня есть
collection_action :download_pdf, method: :get do
membership = Membership.find(params[:id])
send_data(filename: "#{membership.file_file_name}.pdf",
type: 'application/pdf'
)
end
column 'File' do |f|
link_to('Download Membership Form', download_pdf_admin_memberships_path(f))
end
На данный момент это генерирует URL-адрес https://localhost:3000/admin/memberships/download_pdf.60
и при нажатии получаю ошибку
Couldn't find Membership with 'id'=
Я не уверен, как правильно построить URL-адрес (пройти через идентификатор) и загрузить PDF-файл?
Могу ли я получить идентификатор членства через метод?