Rails 3.2, Massenzuordnung, dynamische Rollen?

8

Ich habe eine Rails-App mit einem Benutzermodell, das ein admin -Attribut enthält. Es ist gesperrt mit attr_accessible . Mein Modell sieht so aus:

%Vor%

Und so sieht meine Update-Methode in meinem Benutzer-Controller aus:

%Vor%

Ich habe eine Hilfsmethode in meinem Anwendungscontroller, die die Rolle als Zeichenfolge zurückgibt:

%Vor%

Ich habe auch config.active_record.whitelist_attributes = true in config/application.rb festgelegt.

Ich habe überprüft, dass die Methode current_user_role den richtigen Wert basierend auf dem Administratorstatus des aktuellen Benutzers zurückgibt. Rails wirft keinen Massenzuordnungsfehler. Wenn ich jedoch versuche, den Administratorstatus eines Benutzers zu aktualisieren, während ich als Administrator angemeldet bin, führt Rails die Aktualisierung durch und ignoriert automatisch das admin -Attribut. Das Hochziehen des Benutzerdatensatzes in der Rails-Konsole zeigt, dass der Datensatz nicht geändert wurde.

Ich habe das Gefühl, dass es ein Ruby- oder Rails-spezifisches Problem gibt, von dem ich keine Ahnung habe. Ich kann keine Informationen finden, um die Rolle dynamisch zu gestalten. Das Beste, was ich finden konnte, war das .

    
jeffmueller 15.03.2012, 19:21
quelle

2 Antworten

3

Es gab einen fehlerhaften attr_accessor: admin in meinem Modell, der von einem früheren Versuch übrig geblieben war, dies zum Laufen zu bringen. Ich habe es übersehen. Entfernen Sie es behoben.

Das Ergebnis ist, dass dies eine ziemlich einfache Möglichkeit ist, dynamische Rollen in Rails 3.2 zu verwenden.

    
jeffmueller 23.07.2012, 16:58
quelle
0

Sieht so aus, als könnte es ein Fehler in Rails 3.2 sein

Ссылка

    
Eric Sites 15.03.2012 19:53
quelle