Domanda

Come sto imparando di più su rotaie, e rompendo il mio disegno pensando da giorni ASP.Net, stavo considerando uno scenario di questa mattina, ma non sapevo se fosse possibile fare.

praticanti sono molti trattamenti attraverso i servizi - e viceversa

Nel mio pannello di controllo ho una zona per i praticanti di modificare i propri dati (nome, informazioni di contatto, ecc) e può anche scegliere i loro trattamenti tramite caselle di controllo.

Vorrei rimuovere le caselle di controllo dal _form praticanti. Avere la propria forma che ho potuto chiamare in questo modo:

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

Tuttavia, da un punto di amministrazione di vista avrei ancora bisogno di essere in grado di gestire i trattamenti senza un oggetto praticante in vista:

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

che ha anche le barriere di autenticazione.

  • C'è una soluzione più facile per estrarre i trattamenti ho trascurato?
  • E 'possibile avere percorsi nidificati solo alcuni del tempo?
  • Forse ho troppo caffè questa mattina e sono quindi attualmente in uno stato di follia?
È stato utile?

Soluzione

In genere quando si considerano le funzioni di amministrazione, che spesso presentano un'interfaccia completamente diversa per l'utente con il permesso checking basa più su "sarà questa pausa qualcosa" che "dovrebbe essere consentito", è vantaggioso per creare un'area di amministrazione con controller separati . Ad esempio:

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

Tutti Admin :: * controllori possono ereditare da qualcosa come Admin :: BaseController che esegue l'autenticazione sufficientemente rigoroso controllo prima di consentire eventuali azioni da eseguire.

Nella maggior parte delle applicazioni che ho visto, il front-end user-fronte ha un elemento di disegno o stile ad esso, dove layout è spesso orlata da elementi di navigazione, pubblicità o altri contenuti editoriali. Creazione di una vista di amministrazione separato che è ordinato, mostra molte più informazioni per pagina, e permette l'ordinamento o la ricerca sulle dimensioni non esposti per l'utente è molto prezioso nella gestione di gruppi, anche di medie dimensioni di dati.

Anche se potrebbe sembrare un sacco di lavoro per rendere questi controller di amministrazione in più e loro forme associate, se si è attenti nella progettazione, è possibile riciclare un sacco di funzionalità tra le due aree, soprattutto parziali di pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top