Ich bin in einem ernsten Problem mit der Schule basierte Anwendung, möchte ich wie die rollenbasierte System für Admin, Student und der Lehrer einrichten. Ich habe Gerät zur Authentifizierung verwendet und kann für die Autorisierung cancan. Die Sache ist, ich weiß nicht, wo ich anfangen soll. Ich habe das Benutzermodell "devise" hinzugefügt und Feldrollen hinzugefügt. Ich folgte this für die rollenbasierte Autorisierung. Es funktioniert, aber wenn ich versuche, mich mit dem Student-Berechtigungsnachweis anzumelden, indem ich eine Lehrerrolle in der Dropdown-Liste auswähle, werden die Rollen nie validiert (sagt nie, dass der Zugriff für so etwas verweigert wird). Es meldet sich als Student an. Ich möchte die ausgewählten Rollen im Login-Formular validieren.Login Authentifizierung über Rollen ist nicht gültig
Ich benutze jetzt Benutzermodell als das Modell des Geräts. und hat Student Model, Teacher Model und das Admin Model. und der gesamte Student, Lehrer und Administrator gehört dem Benutzer.
Benutzermodell
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :admins
has_many :students
has_many :teachers
ROLES = %i[admin teacher student]
end
In meiner devise Anmeldung Ansicht
<%= f.collection_select(:role, User::ROLES, :to_s, lambda{|i| i.to_s.humanize}) %>
Oder will ich für alle Schüler devise Modell verwenden, Lehrer und Admin? Wenn ja, wie vervollständige ich das? Jede Hilfe oder Vorschläge sind hilfreich. Danke im Voraus.