2009-11-03 11 views
2

J'ai une application de 3 ans qui a quelques contrôleurs avec des actions très désagréables. J'essaie d'implémenter une nouvelle ressource qui a des relations avec certains des plus anciens, mais je veux utiliser activescaffold pour gérer les ressources imbriquées plutôt que d'essayer de réécrire la plaque de spaghetti qui est le reste de la base de code. J'ai besoin d'écrire de nouveaux contrôleurs pour les ressources imbriquées qui utilisent activescaffold, mais je ne peux pas perdre les anciens contrôleurs, et je ne peux pas les renommer non plus. comment puis-je obtenir la configuration activescaffold pour récupérer la configuration pour les ressources imbriquées du nouveau contrôleur plutôt que d'essayer de regarder le contrôleur nommé de façon conventionnelle pour la configuration?contrôleur d'activation de l'instance manquante activescaffold travail autour

thx pour votre aide :)

C

Répondre

4

Vous pouvez utiliser la méthode de remplacement active_scaffold_controller_for. De la documentation ActiveScaffold - http://www.activescaffold.com/docs/api-core

class ApplicationController < ActionController::base 

    protected 

    def self.active_scaffold_controller_for(klass) 
    return FooController if klass == Bar 
    return "#{klass}ScaffoldController".constantize rescue super 
    end 
end 
+0

génial, thx! Je suppose que je pourrais même créer des contrôleurs dynamiquement ici, ce qui pourrait être un bon moyen d'y aller. thx encore :) –

+0

cela me fait poser une autre question, que dois-je vérifier pour déterminer si un contrôleur a comme? –