2010-12-29 3 views
5

angehen kann Ich habe 2 Arten von Benutzern. Eine Firma und ein Arbeiter.Wie man verschiedene Benutzertypen mit Devise

Wie verwalte ich es in Gerät, wo ich nur 1 Benutzer habe?

Ich möchte 2 Registrierungsseiten für Firma und Worker erstellen, aber ich möchte nur 1 Tabelle, die Benutzerinformationen wie Benutzer speichert.

Antwort

7

ich auf codevoice der reichlich Antwort kommentieren würde, aber ich don‘ Ich habe noch genug Rep.

Von Dokumentation, auf welche verwiesen codevoice:

Wenn Sie mehr als eine Rolle in Ihrer Anwendung (zB „User“ und „Admin“) haben, werden Sie feststellen, dass Devise die gleiche verwendet Ansichten für alle Rollen. Glücklicherweise bietet Devise eine einfache Möglichkeit Ansichten anzupassen. Alles, was Sie tun müssen, ist gesetzt "config.scoped_views = true" innerhalb "config/initializers/devise.rb".

Nach so tun, werden Sie in der Lage zu Ansichten haben auf der Grundlage der Rolle wie "Benutzer/sessions/new" und "admins/sessions/new". Wenn keine Ansicht innerhalb des Bereichs gefunden wird, verwendet Devise die Standardansicht unter "devise/sessions/new". Sie können auch den Generator verwenden, um scoped Ansichten zu erzeugen:

...

So kann es eine Reihe von Ansichten für alle Modelle entwickeln zu lassen, stellen sie nur in devise/sessions/*.

0

zuerst vorbereiten Modelle dann registrieren devise_for beide Modelle

devise_for :companies 
devise_for :workers 

in Routen

hier Sie haben Beispiel: devise manual github

+0

Was soll ich dann in der Ansicht tun? Wird es nicht durch 2 einloggen in Seiten? <% if company_signed_in? %> Signiert als <% = aktuelle_firma.email%>. Nicht du? <% = link_to "Abmelden", destroy_company_session_path%> <% else %> <% = link_to "Registrieren", new_company_registration_path%> oder <% = link_to "Anmelden", new_company_session_path%> <% end %> Ich mag nur 1 Login-Seite –

+0

Yup etwas wie das - Sie haben 'current_companyz und' current_worker' und so weiter ... überprüfen 'Rake Routen | grep session', um Wege zu finden – codevoice

+0

Wie mache ich 1 Login-Seite, wo Sie sich als Arbeiter und Firma anmelden können. Ich möchte nicht, dass sie getrennt sind. –