2008-11-11 8 views
0

Comment faire des contrôleurs namespaced dans Merb, par exemple pour créer une section d'administration sur le site? Dans Rails on pourrait utiliser Admin :: CategoriesController, est-ce similaire dans Merb ou est-ce une autre façon de le faire?Contrôleurs Admin dans Merb

Répondre

2

La méthode de l'espace de noms semble le faire.

Il est placé dans le fichier routes (de router.rb):

namespace :admin do 
    resources :categories 
end 

Cela génère des itinéraires comme:

 
edit_admin_category - /admin/categories/:id/edit(.:format) 
delete_admin_category - /admin/categories/:id/delete(.:format) 
admin_categories - /admin/categories(/index)(.:format) 
new_admin_category - /admin/categories/new(.:format) 
admin_category - /admin/categories/:id(.:format) 

Je mets alors mon contrôleur dans un module comme celui-ci:

module Admin 
    class Categories < Application 
    def index 
     ... 
    end 

    . 
    . 
    . 
    end 
end 

Je ne sais pas si c'est la manière recommandée, toutes les suggestions à ce serait génial.

0

La réponse ci-dessus est correcte, mais pour ce que ça vaut, j'ai eu du mal à essayer d'utiliser la nouvelle route avec link_to dans mes vues.

je fini par obtenir que cela fonctionne:

<%= link_to("Categories Admin", resource(:admin, :categories) %>