Estoy tratando de definir un método dentro de una migración, pero estoy recibiendo un error indefinido método:métodos de definición de las migraciones Rieles
undefined method 'do_something_specific' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x4868018>
prefiero no lo definen en otro lugar, ya que doesn' realmente se relaciona con el resto de la aplicación, solo esta migración específica.
Para que quede claro, mi migración se ve algo como:
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
Me estoy perdiendo algo aquí? ¿Por qué no puedo definir esto así?
Sí No entendí lo que estaba llamando desde el adaptador, pero pensé que aún debería estar dentro de su alcance. De todos modos, ahora obtengo un error de método indefinido 'do_something_specific' para Class: Class –
D'oh lo siento. Como 'self.up' es un método estático en sí mismo, la llamada a' class' devolverá 'Class' y no' DoSomethingSpectacular'. Actualicé el código de muestra. – Koraktor
Creo que puede eliminar de forma segura el 'DoSomethingSpectacular'. en self.up – khelll