Gibt es eine Möglichkeit, Argumente zu verwenden, wenn Sie ein Ruby-Modul hinzufügen? Ich habe ein Modul Assetable, das in vielen Klassen enthalten ist. Ich möchte in der Lage sein, attr_accessor 'on the fly' zu generieren.
%Vor%Es gibt keine Möglichkeit Argumente zu übergeben, wenn das Modul eingeschlossen wird. Am besten wäre es, eine Klassenmethode zu definieren, mit der Sie später erstellen können, was Sie brauchen:
%Vor% Seien Sie auch vorsichtig, wenn Sie die Methode included
innerhalb eines Problems außer Kraft setzen, da sie auch von ActiveSupport::Concern
verwendet wird. Sie sollten super
innerhalb der Methode overriden aufrufen, um eine ordnungsgemäße Initialisierung sicherzustellen.
Sie können keine Argumente an ein Modul übergeben. In der Tat können Sie keine Argumente an irgendetwas außer einer Nachricht senden.
Sie müssen also eine Nachricht senden:
%Vor% Hinweis: Ich habe nicht gesehen, warum Sie hier ActiveSupport::Concern
benötigen, aber es ist einfach, es wieder hinzuzufügen.
Tags und Links ruby ruby-on-rails