Frage

las ich einen Artikel hier und ich verwendet, um die gefundenen Prinzipien ein schreiben Verwaltung Scheck für meinen Controller. Grundsätzlich prüft es, zu sehen, welche Controller Sie sind in und dann erstelle ich ein Array zu sagen, ob diese Person der Erlaubnis, dass die Steuerung, um zu sehen, als finden, weitergeben.

Der Autor des Artikels, sagte, dass die Leser nicht den Beispielcode verwenden sollten, da es fehlerhaft war und dass sie seine Plugin verwenden (was natürlich veraltet jetzt ist). Und er sagte:

  

„gibt es einige Probleme mit dem obigen Code, wenn im Produktionsmodus aufgrund der Verwendung von Klassenvariablen und Klassen Caching ausgeführt wird.“

Ich habe einen Test nicht bestehen, und ich denke, dass es aufgrund dieser sein könnte, aber ich bin mir nicht ganz sicher, welche Teil des Codes sollte ich nicht verwenden. Ich hatte die folgende (in application.rb):

 controller = params[:controller]
 action = params[:action]

Aber ich geändert, dass an:

controller = self.class.name
action = params[:action]

Wie kann ich den Namen der Aktion korrekt? Und im Allgemeinen welche Arten von Dingen, die Sie tun können im Entwicklungsmodus, die Sie nicht in der Produktion tun?

War es hilfreich?

Lösung

Haben Sie eine Rolle als basierte Berechtigungen anstelle Plugin? Sehen Sie sich die folgende Frage Stackoverflow:

Welche Rails-Plug-in ist am besten für rollenbasierte Berechtigungen? (Bitte geben Sie eine Nominierung pro Antwort)

Ich bin nicht bewusst, alle Probleme mit der Produktion Verwendung des Codes Sie eingefügt haben. Das Plugin in Frage könnte einige Probleme aufgrund eines möglichen Missbrauch von @@ jedoch hat, habe ich es nicht gründlich untersucht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top