Bonjour,
J'ai trouvé comment faire mon bonheur ... Je suis pas sur d'avoir exactement compris ce que tu me proposes Le Phasme, mais est-ce que le résultat serait le même? Parce que là ça a beau marcher comme je le veux, ça me parait quand même être de la grosse bidouillle ... Donc si on me propose mieux je prend
Code :
- require 'shared/user_controller'
- require 'shared/role_controller'
- # Add here other controllers
- class AdministrationController < ApplicationController
- before_filter :login_required
- access_control :DEFAULT=>'admin'
-
- # GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
- verify :method => :post, :only => [ :destroy, :create, :update ],
- :redirect_to => { :action => :list }
-
-
- def loadRightController
- case params[:module]
- when 'user'
- self.extend UserController
- when 'role'
- self.extend AbonnementController
- else
- redirect_to :action=>:index
- return
- end
- eval("self."<<params[:todo])
- end
- end
|
Et ensuite j'ai rajouté une route :
Code :
- map.connect 'administration/:module/:todo/:id', :controller => 'administration',
- :action => 'loadRightController',
- :defaults => {
- :todo=>'index'
- }
|
Edit: Bien entendu là c'est pas une solution "finie", genre il faut que je securise les différents params parce que là c'est assez une invitation à se faire démolire
Message édité par esox_ch le 15-09-2007 à 12:32:18
---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait