Ich versuche, eine Methode innerhalb einer Migration zu definieren, aber ich bin eine nicht definierte Methode Fehler bekommen:Definieren von Methoden in Rails Migrationen
undefined method 'do_something_specific' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x4868018>
Ich möchte lieber nicht an anderer Stelle definieren, weil es doesn t beziehen sich wirklich auf den Rest der Anwendung, nur diese spezifische Migration.
Um klar zu sein, sieht meine Migration so etwas wie:
class DoSomethingSpectacular < ActiveRecord::Migration
def self.up
do_something_specific(1, 2)
end
def self.down
end
private
def do_something_specific(p_1, p_2)
# something happens here...
end
end
Bin ich hier etwas fehlt? Warum kann ich das nicht so definieren?
Yeah Ich habe nicht verstanden, was es aus dem Adapter aufgerufen wurde, aber ich dachte, es sollte immer noch in seinem Umfang sein. Wie auch immer, jetzt bekomme ich einen Fehler undefinierte Methode 'do_something_specific' für Klasse: Class –
D'oh sorry. Da 'self.up' selbst eine statische Methode ist, gibt der Aufruf von' class' 'Class' und nicht' DoSomethingSpectacular' zurück. Ich habe den Beispielcode aktualisiert. – Koraktor
Ich denke, Sie können das 'DoSomethingSpectacular' sicher entfernen. in selbst.up – khelll