Ich habe ein Benutzermodell, das Informationen wie Benutzername, E-Mail, Heimatstadt usw. enthält. Wenn der Benutzer angemeldet ist, kann er alle seine Informationen über die Show-Seite (/ users/723, zum Beispiel) bearbeiten.Wie zeigt man die öffentliche Version des Benutzerprofils in Rails an?
Ich möchte eine "öffentliche" Version dieser Seite haben, die von jemandem, der nicht eingeloggt ist, oder von jemandem, der als jemand anders eingeloggt ist, angesehen werden kann. Es hätte unterschiedliche Informationen über den Benutzer und keine der Links zum Bearbeiten von Informationen.
Was ist der sauberste Weg, um die drei verschiedenen Versionen dieser Seite korrekt anzuzeigen?
Nachtrag.
Ich verwende derzeit authlogic für die Authentifizierung und acl9 für die Zugangskontrolle. Ich sehe dies jedoch nicht als eine Frage der Authentifizierung und Autorisierung. Ich denke, es ist eine Frage des Controller/View-Designs. Ob der Benutzer angemeldet ist oder die Informationen besitzt, ist nebensächlich. Wenn Sie Widgets auf drei verschiedene Arten basierend auf dem Sitzungsstatus anzeigen möchten, würde ich denken, dass Sie die Antwort auf diese Frage verwenden könnten.
Ich stimme Sam hier zu, mit der leichten Einschränkung, dass es je nach den Unterschieden sinnvoller sein kann, die Änderungen nur inline vorzunehmen. Auf einer Site, auf der ich nur die Schnellbearbeitungsfunktion für Administratoren aktivieren möchte, handelt es sich um eine einfache Bedingung in der Ansicht. Ich möchte jedoch nicht zu Teilzeigern wechseln, wenn die Unterschiede so gering sind. – scottru