Nur eine weitere Frage "warum ist es so?": Ich habe bemerkt, dass auf private Hilfsmethoden immer noch in Ansichten zugegriffen werden kann. Warum ist das? Und gibt es eine Möglichkeit, dies zu verhindern (z. B. wenn Hilfsmethoden verwendet werden, die nur von einem anderen Helfer aus aufgerufen werden sollen)?Warum können in Sichten noch auf private Hilfsmethoden zugegriffen werden?
Antwort
Helfer sind modules that get mixed in zu den Ansichten. Dies bedeutet, dass öffentliche, geschützte und private Methoden im Helper zu öffentlichen, geschützten und privaten Methoden in den Ansichten werden.
Ich glaube nicht, dass Sie tatsächlich die Hilfsmethoden aus der Ansicht ausblenden können. Sie müssen etwas wie eine Hilfsklasse tun, die Sie in der Helferin instanziieren und dann Anrufe an sie delegieren - klingt, als könnte sie jedoch schnell unordentlich werden. :)
Helfer sind im Grunde kleine Codeschnipsel, die in Ihren Ansichten aufgerufen werden können, damit Ihr Code DRY bleibt - also jeder Code, den Sie regelmäßig wiederholen, kann höchstwahrscheinlich in einen Helfer verschoben werden.
Die Verwendung von Helfern ist einfach, jeder Controller hat seine eigene Hilfsdatei oder Sie können Helfer in die Hilfsdatei der Anwendung schreiben, wenn sie in der gesamten Anwendung verwendet wird.
zum Beispiel - siehe http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails
https://web.archive.org/web/20130127041747/http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails – danuker
Vielen Dank. Und so ist es. :-) –