def index
@forms = Form.all
respond_to do |format|
format.html
end
end
def submit
respond_to do |format|
format.pdf {render }
end
end
submit.pdf.prawn file
pdf.text "successfully submitted"
Répondre
Utilisez langoustine pour générer un pdf qui est enregistrée quelque part dans votre dossier/public, comme:
Prawn::Document.generate("#{RAILS_ROOT}/public/pdfs/myfile.pdf")
Ensuite, il suffit d'utiliser votre contrôleur pour rediriger les utilisateurs vers cet emplacement:
redirect_to '/pdfs/myfile.pdf'
Utilisez crevette pour générer un pdf qui est enregistré quelque part dans votre dossier/public, comme: Prawn :: Document.generate ("# {RAILS_ROOT} /public/pdfs/myfile.pdf") Ensuite, utilisez simplement votre contrôleur pour rediriger utilisateurs à cet endroit: redirect_to '/pdfs/myfile.pdf' – zealmurugan
Action inconnue Aucune action n'a répondu à afficher. Actions: current_user, current_user_session, générer, index, permission_denied, travel_log et unauthorised_url – zealmurugan
Le problème avec cette réponse est que si l'application est servie par plusieurs serveurs, le serveur qui a répondu à la redirection n'est peut-être pas celui qui a '/ pdfs /myfile.pdf 'pour que l'utilisateur obtienne un 404. – sockmonk
Il est possible pour Prawn de générer et retourner le PDF sans avoir à enregistrer localement ...
def submit
send_data(generate_pdf, :filename => "output.pdf", :type => "application/pdf")
end
private
def generate_pdf
Prawn::Document.new do
text "Hello Stackoverflow"
end.render
end
besoin de plus d'informations que seulement passé votre code – shingara
Par exemple - dites-nous ce qui se passe lorsque vous exécutez ce code - obtenez-vous un message d'erreur? Avez-vous essayé autre chose? Comment cela s'est-il passé? Savez-vous quelle partie du code vous cause des problèmes? Manquez-vous un concept que vous aimeriez que nous vous aidions à définir? –