Question

Comme j'apprends plus sur les rails, et en me brisant le design thinking de jours ASP.Net, je considérais un scénario ce matin, mais ne savait pas s'il était possible de le faire.

Les praticiens ont beaucoup de traitements grâce à des services - et vice versa

Dans mon panneau de commande je un espace pour les pratiquants de modifier leurs coordonnées (noms, coordonnées, etc.) et peuvent également choisir leurs traitements via des cases à cocher.

Je voudrais supprimer les cases aux pratiquants _form. Ayant leur propre forme que je pourrais appeler comme ça:

<%= link_to "Edit Treatments", edit_practitioner_treatments(@practitioner) %>

Cependant, d'un point de vue admin je encore besoin d'être en mesure de gérer les traitements sans objet praticien en vue:

<%= link_to "Edit Treatments", edit_treatments(@treatment) %>

qui a également des barrières d'authentification.

  • Y at-il une solution plus facile d'extraire des traitements que j'ai oublié?
  • Est-il possible d'avoir des routes imbriquées juste de temps en temps?
  • Est-ce que j'ai trop coffe ce matin et sont donc actuellement dans un état de folie?
Était-ce utile?

La solution

En général, lorsque l'on considère les fonctions d'administration, qui présentent souvent une toute autre interface pour l'utilisateur avec l'autorisation vérification basée plus sur « sera cette rupture quelque chose » que « devrait vous être permis », il est avantageux de créer une zone d'administration avec des contrôleurs séparés . Par exemple:

map.namespace :admin do |admin|
  # Admin::PracticionersController
  map.resources :practicioners

  # Admin::TreatmentsController
  map.resources :treatments
end

map.resources :practicioners do |practicioner|
  practicioner.resources :treatments
end

map.resources :treatments do |treatment|
  treatment.resources :practicioners
end

Tous les admin :: * Les contrôleurs peuvent hériter de quelque chose comme admin :: BaseController qui effectue l'authentification suffisamment rigoureuse vérifier avant d'autoriser toute action à effectuer.

Dans la plupart des applications que j'ai vu, la face utilisateur frontal a un élément de design ou de style à elle, où ils disposition est souvent cernée par les éléments de navigation, la publicité, ou tout autre contenu éditorial. Création d'une vue admin séparé qui est bien rangé, montre beaucoup plus d'informations par page, et permet le tri ou la recherche sur les dimensions non exposées à l'utilisateur est très précieux dans la gestion même des ensembles de données moyennes.

Bien qu'il puisse sembler beaucoup de travail pour rendre ces contrôleurs d'administration supplémentaires et leurs formes associées, si vous faites attention à votre conception, vous pouvez recycler beaucoup de la fonctionnalité entre les deux zones, en particulier partials page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top