2016-07-25 9 views
1

Ich arbeite an einer Projektmanagement-App in Ruby on Rails. Ich möchte in der Lage sein, jedem Projekt Benutzer mit unterschiedlichen Rollen zuzuordnen (d. H. Administrator, Benutzer). Eine offensichtliche Lösung besteht darin, dass zwei Modelle in Devise ausgeführt werden, aber das bedeutet, dass nur Benutzer im Admin-Modell Administratoren in einem Projekt sein können.Benutzerspezifische Ressource erstellen Rails

Gibt es eine Möglichkeit, es einzurichten, so dass jeder Benutzer (d. H. Projektersteller) über Administratorrechte für dieses Projekt verfügt und andere Benutzer eingeladen werden können, auf schreibgeschützter Ebene teilzunehmen?

Kennt jemand einen Weg, um diese Funktionalität zu erreichen?

Antwort

0

Ich bin gegangen und habe die Rolify gem verwendet.

Update:
Nachdem mit Rolify arbeiten seit 6 Monaten habe ich viel mehr über das Thema und bin in den Prozess der Re-Implementierung eine bessere Lösung mit einer Mischung aus Rolify und CanCanCan gelernt. Ich arbeite von this tutorial von Rolify zur Verfügung gestellt.

0

Sie können den 'cancancan'-Edelstein verwenden, um eine bestimmte Rollenberechtigung anzugeben.Wenn Sie dieses Tutorial verwenden, erhalten Sie eine Idee, wie es tatsächlich funktioniert. Sie können "device_invitable" für die Sendeeinladung an einen bestimmten Rollenbenutzer verwenden.

https://github.com/CanCanCommunity/cancancan 
https://github.com/scambra/devise_invitable 

Wenn Sie dynamische Rollenberechtigung als unten Link verwenden möchten.

https://blog.joshsoftware.com/2012/10/23/dynamic-roles-and-permissions-using-cancan/ 

Ich hoffe, dieser Link wird Ihnen helfen.

+0

Vielen Dank für Ihre Antwort. Von dem, was ich sehen kann, ist dies immer noch eine Rolle pro Benutzer (korrigieren Sie mich, wenn ich falsch liege). Ich brauche einen Benutzer, der pro Projekt eine Rolle hat (z. B. Benutzer1 ist Administrator von Projekt1 und Mitwirkender von Projekt2). Danke für deine Hilfe bis jetzt! – slehmann36

Verwandte Themen