Je veux configurer toutes les actions de mon contrôleur en utilisant le fichier de configuration de mon application. Selon Catalyst::Controller Je peux le faire dans le contrôleur lui-même:Comment puis-je configurer toutes les actions Catalyst dans un contrôleur donné en utilisant Config :: General?
__PACKAGE__->config(
action => {
'*' => { Chained => 'base', Args => 0 },
},
);
J'ai donc essayé dans ma config:
<controller Foo>
<action "*">
Chained base
Args 0
</action>
</controller>
mais je reçois cette erreur au démarrage:
Couldn't load class (MyApp) because: Action "*" is not available from
controller MyApp::Controller::Foo at /usr/local/share/perl/5.10.1/Catalyst/
Controller.pm line 193
Il fait la même chose sans les guillemets autour de l'astérisque. Comment dois-je faire cela?
Mon point était de savoir comment cal configurer toutes les actions, en utilisant un caractère générique. Dans la configuration du contrôleur, je peux le faire (à partir de http://search.cpan.org/~bobtfish/Catalyst-Runtime/lib/Catalyst/Controller.pm#action): '*' => {Chained => 'base' , Args => 0}, Mais en utilisant Config :: General j'obtiens l'erreur ci-dessus – cubabit
Ce que je ferais dans votre cas est de faire un cas de test minimal en utilisant la configuration du contrôleur en ligne comme documenté, puis sérialiser la configuration en utilisant ce qui suit commande pour voir ce que Config :: General s'attend à voir: perl -Ilib -e 'utilise MyApp; utilisez Config :: General; Config :: General-> new-> save_file ("myapp_testing.conf", MyApp-> config); ' – singingfish
Sonné comme une bonne idée, mais n'a malheureusement pas aidé. Config :: Sortie générale:<*> Base chaînée ce qui est ce que je m'attendais. Mais, mettant cela dans ma configuration d'application a soulevé la même exception dans Catalyst comme documenté ci-dessus. Semble le problème est avec l'analyse de Catalyst de la config. –
cubabit