Ich habe eine Rails-App, die viele Daten von einigen Java-Diensten lädt. Ich schreibe ein Modul, das mir erlauben wird, einige Auswahlkästchen mit diesen Daten zu füllen, und ich versuche, diese richtig einzuschließen, damit ich sie in meinen Ansichten verweisen kann. Hier ist mein Modul
%Vor% Meine Idee war es, FilterOptions in meinen application_helper einzubauen, und ich dachte, ich könnte dann meine Methoden mit Select::some_select
referenzieren. Das ist nicht der Fall. Ich muss include FilterOptions::Select
, dann kann ich auf die Methode some_select
selbst verweisen. Ich will das aber nicht, weil ich denke, dass es etwas verwirrend für jemanden ist, der vielleicht nicht weiß, dass some_select
von meinem eigenen Modul kommt.
Also, wie schreibe ich Methoden eines Moduls, die wie öffentliche statische Methoden sind, so dass ich mein Hauptmodul einbeziehen und meine Methoden mit dem Submodul-Namespace wie Select::some_select
module_function bewirkt, dass eine Modulfunktion entweder als Instanzmethode oder als Modulfunktion aufgerufen werden kann:
%Vor%Manchmal möchten Sie, dass jede Methode in einem Modul eine "Modulfunktion" ist, aber es kann mühsam und wiederholend werden, immer wieder "modul_function" zu sagen. In diesem Fall erweitern Sie einfach Ihr Modul:
%Vor%Tags und Links ruby ruby-on-rails module