2009-10-23 4 views
0

Utilisation du module Catalyst::Controller::FormBuilder pour gérer des formulaires dans une application Catalyst.Configuration de form_path dans Catalyst :: Controller :: Formbuilder

La documentation indique que vous pouvez définir le form_path comme ceci:

form_path => File::Spec->catfile($c->config->{home}, 'root', 'forms'),

Mais l'appel à config() dans mon application est au niveau supérieur du module de base. Par conséquent, $ c est indéfini. Donc je ne peux pas appeler $ c-> config -> {home}.

Quelle est la bonne façon de configurer form_path s'il vous plaît?

+0

'AppName-> path_to (qw/root forms /)'? – jrockway

+0

Merci Jonathon, bonne réponse. Cela fonctionne: form_path => Fichier :: Spec-> catfile (AppName-> path_to (qw'etc forms ')), J'ai déplacé les formes, les modèles, et config à etc hors de la racine. J'ai trouvé que je pouvais obtenir des copies de modèles, etc. en allant sur http://example.com/forms/search/page.fb par exemple. Je n'ai pas aimé ça, alors j'ai éliminé les choses de la racine pour que cela ne se produise plus. –

Répondre

0

Vous devriez pouvoir accéder aux valeurs de configuration qui ont déjà été définies à partir du module principal de votre application à l'aide du hachage __PACKAGE__->config. Exemple: __PACKAGE__->config->{home} ou __PACKAGE__->config->{'Controller::FormBuilder'}->{form_path}. Si vous essayez de configurer FormBuilder dans le module principal de votre application, vous devriez pouvoir utiliser le code fourni dans la documentation et remplacer simplement $c->config->{home} par __PACKAGE__->config->{home}. Je pense qu'ils ont peut-être même fait une erreur en ne le faisant pas de cette façon, mais je ne suis pas sûr.

Questions connexes