Frage

Als ich mehr über Schienen am Lernen und breche mein Design Denken von ASP.Net Tagen, ich war heute Morgen ein Szenario bedenken, aber nicht wissen, ob es möglich war, zu tun.

Die Praktizierenden haben viele Behandlungen durch Dienstleistungen - und vice versa

In meiner Kontrolle Panel I haben einen Bereich für die Praktizierenden zu bearbeiten ihre Daten (Namen, Kontaktdaten etc.) und können auch ihre Behandlungen über Check-Boxen wählen.

Ich mag die Check-Boxen aus dem Praktizierenden _form entfernen. Nachdem ihre eigene Form, die ich auf wie folgt aufrufen können:

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

Doch von einer Admin Sicht würde ich noch muß in der Lage sein, Behandlungen in Sicht ohne Praktiker Objekt zu verwalten:

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

, die hat auch die Authentifizierung Barrieren.

  • Gibt es eine einfachere Lösung zu extrahieren Behandlungen, die ich übersehen habe?
  • Ist es möglich, verschachtelte Strecken haben nur einen Teil der Zeit?
  • Habe ich habe zu viel Kaffee heute morgen und sind daher zur Zeit in einem Zustand des Wahnsinns?
War es hilfreich?

Lösung

Im Allgemeinen, wenn Admin-Funktionen unter Berücksichtigung, die oft eine ganz andere Schnittstelle zum Benutzer mit der Berechtigung präsentieren basiert mehr Prüfung auf „werden diese Pause etwas“ als „sollten Sie erlaubt sein“, ist es vorteilhaft, einen Admin-Bereich mit separaten Controller zu erstellen . Zum Beispiel:

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

Alle Admin :: * Controller von etwas wie Admin :: Base erben kann, dass führt ausreichend strenge Authentifizierung überprüft, bevor irgendwelche Maßnahmen ermöglicht durchgeführt werden.

In den meisten Anwendungen, die ich gesehen habe, der Benutzer gerichtete Front-End hat ein Element von Design oder Stil es, wo sie das Layout oft in von Navigationselementen gesäumt sind, Werbung oder andere redaktionelle Inhalte. eine separate Admin-Ansicht erstellen, die zeigen weit mehr Informationen pro Seite übersichtlich ist, und erlaubt es den Benutzer nicht ausgesetzt Sortierung oder die Suche auf Dimensionen ist sehr wertvoll, wenn auch mittelgroße Datenmengen zu verwalten.

Auch wenn es wie eine Menge Arbeit scheinen mag diesen zusätzlichen Admin-Controller und ihre zugehörigen Formen zu machen, wenn Sie in Ihrem Design vorsichtig sind, können Sie eine Menge der Funktionalität zwischen den beiden Bereichen Recycling, insbesondere Seite partials.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top