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 mein Modul istRuby-Modul als Sammlung von Methoden
module FilterOptions
module Select
def some_select
return "some information"
end
end
end
Meine Idee war, in meinen Filteroptions application_helper aufzunehmen, und ich dachte, ich könnte dann meine Methoden Referenz Select::some_select
Verwendung Dies ist nicht der Fall. Ich muss include FilterOptions::Select
dann kann ich die Methode some_select
für sich selbst verweisen. Ich will das aber nicht, da ich denke, dass es etwas verwirrend für jemanden ist, der vielleicht nicht weiß, dass some_select
von meinem eigenen Modul kommt.
Also, wie ich schreibe Methoden eines Moduls, das wie öffentliche statische Methoden sind, so kann ich mein Hauptmodul, und meine Methoden Referenz unter Verwendung des Sub-Modul-Namensraum wie Select::some_select
ok ich fühle mich irgendwie dumm, ich mache dies in Klassen die ganze Zeit mit Selbst, ich weiß nicht, warum ich dachte, ein Modul wäre anders. BTW Was ist der Unterschied zwischen der Verwendung von Select :: some_select und Select.some_select? – brad
Das ist eine gute Frage. Wenn es um Konstanten geht, müssen Sie die :: Notation verwenden, da es kein Methodenaufruf ist, aber ich denke, dass Sie entweder für Methoden verwenden können. – tadman