Haftungsausschluss: Obwohl ich im Zusammenhang mit einer Rails-Anwendung frage, spreche ich nicht über Rails-Helfer (d. h. Helfer anzeigen)
Nehmen wir an, ich habe eine Hilfsmethode / Funktion:
%Vor%Jetzt möchte ich das von mehreren verschiedenen Orten (meist Controller, aber auch ein paar BackgrounDRb Arbeiter)
verwendenWas ist der bevorzugte Weg, dies zu tun?
Ich kann mir zwei Möglichkeiten vorstellen:
1. Verwenden Sie eine Klasse und machen Sie den Helper zu einer statischen Methode:
%Vor%2. Verwenden Sie ein Modul und fügen Sie die Methode in jede Klasse ein, für die ich diese Funktionalität benötige.
%Vor%3. Andere Möglichkeiten kenne ich noch nicht
%Vor%Der erste ist mehr Java-ähnlich, aber ich bin nicht sicher, ob der zweite wirklich eine angemessene Verwendung von Rubys Modulen ist.
Der Modulansatz ist die Richtung, die ich einschlagen würde. Ich bevorzuge es wegen seiner Flexibilität und wie schön es Ihnen ermöglicht, Ihren Code zu organisieren. Ich nehme an, Sie könnten argumentieren, dass sie nur eine andere Form von Mixin sind. Ich denke immer Mixins als direkte Erweiterungen einer bestimmten Klasse
%Vor%Das scheint immer sehr spezifisch zu sein, wohingegen der Modulansatz jede Klasse, in die Sie ihn einbeziehen, erweitern kann.
Gleicher
Wenn Sie das in Ihren Controllern und anderem Code verwenden möchten, können Sie ein Mix-In erstellen und es zu Ihrem Anwendungs-Controller hinzufügen, von dem andere Controller stammen, so dass Sie es in Ihren Controllern haben können kann das Modul zu anderen externen Klassen hinzufügen.
Tags und Links ruby