Problem avc unpack du gem prawn (et prawn-layout)

Bonjour,

J’utilise prawn pour générer des pdf. prawn vient avec prawn-layout
quang je “freeze” mes gems (unpack), j’obtiens bien prawn dans mon
répertoire vendor/gems mais pas prawn-layout et une fois mon
application déployée, j’ai une erreur car il ne trouve pas la method
table ui se trouve dans prawn-layout
J’ai essayé en déclarant prawn-layout (config.gem) mails dans ce cas
j’ai une erreur de chargement au lancement du serveur

Ou est ce que je fais une erreur?

Merci

Bonjour, quelques précisions:

  • j’ai aussi essayé en copiant le prawn-layout dans vendor/gems
  • j’utilise le plugin prawnto

J’ai essayé en déclarant prawn-layout (config.gem) mails dans ce cas
j’ai une erreur de chargement au lancement du serveur

L’erreur que tu obtiens dans ce cas pourrait être utile pour
diagnostiquer.

– Thibaut

J’ai regardé un peu plus en détail et en fait il très probable que
“prawn-layout” que j’ai copié dans vendor/gems n’est pas
chargé.Par contre dans le plugin qui charge prawn et prawn-layout, j’ai
require ‘prawn’
begin
require “prawn/layout” # give people what they probably want
rescue LoadError
end
Si je force le chargement de prawn-layout avec uniquement la ligne
require “prawn/layout”
chez mon hébergeur, j’ai une erreur de l’appli (parce qu’il ne trouve
pas prawn-layout)

Savez vous comment voir ou il va chercher le “prawn/layout” qui
visiblement ne se charge pas (je ne vois rien dans les log)

Merci

En fait en local, gems installé, tout fonctionne bien.

1 - Si je freeze et que je déploie

  • le freeze ne copie pas prawn-layout
  • sur mon serveur j’ai l’erreur suivante (la méthode “table” est
    définie dans prawn-layout
    ActionView::TemplateError (undefined method `table’ for
    #Prawn::Document:0xb6d0b784) on line #50 of maintenance_notebooks/
    index.pdf.prawn:
    47: @insurances.each do |i|
    48: table_i << [i.title, display_date_date(i.due_date).to_s, i.company.name]
    49: end
    50: pdf.table table_i, :font_size => 12,
    51: :horizontal_padding => 10,
    52: :vertical_padding => 3,
    53: :border_width => 2,

2 - Si je copie manuellement le gem prawn-layout dans vendor/gems et
que je déploie j’ai la même erreur que précedemment (j’ai bien
redémarré mon serveur)

3 - si je rajoute en plus un config.gem "prawn-layout’ dans ce cas
même en local ça ne marche pas et j’ai l’erreur
no such file to load – prawn-layout

Nicolas

Bonjour,

j’ai juste freezé prawn et prawn-layout ( je ne vois pas prawn-core,
prawn-format quand je fais un gem list)
On dirait qu’il faut que j’indique un chemin plus précis pour le
require “prawn/layout” mais je ne vois pas pourquoi et je ne vois pas
lequel.

Nicolas

Juste une idée si tu n’as pas déjà résolu ton problème: as-tu freezé
les dépendances de prawn (ex: prawn-core, prawn-format) ?

Si tu as trouvé la solution, peux-tu la partager ?

a+

– Thibaut

On Jun 19, 6:25 pm, Tranquiliste [email protected]

Tranquiliste a écrit :

Bonjour, visiblement je configurais mal le gem en rajoutant :lib =>
“prawn/layout”, ça marche. Pourtant je pensait qu’il cherchait
automatiquement dans lib
la ligne complète
config.gem “prawn-layout”, :version => “0.1.0”, :lib => “prawn/
layout”

Oui il cherche bien dans lib mais en se basant sur le nom du gem. Du
coup il cherchait :

lib/prawn-layout et non lib/prawn/layout


Cyril M.

Bonjour, visiblement je configurais mal le gem en rajoutant :lib =>
“prawn/layout”, ça marche. Pourtant je pensait qu’il cherchait
automatiquement dans lib
la ligne complète
config.gem “prawn-layout”, :version => “0.1.0”, :lib => “prawn/
layout”

Oui il cherche bien dans lib mais en se basant sur le nom du gem. Du
coup il cherchait :

lib/prawn-layout et non lib/prawn/layout

Merci Cyril, mais pourquoi le gem fonctionne-t-il correctement en
local (gem non “freezé”) ou j’ai juste fait le gem install …