Tengo dos modelos,¿Listar todos los métodos que responde un objeto?
User
Membership
Los dos han la siguiente relación entre sí
user has_many :memberships
He estado tratando de averiguar dónde reside el método de aumento, y cómo lo consigo en una lista de métodos para la instancia. Aquí está la salida del depurador que muestra mi Delima
(rdb:63) @user.memberships.respond_to?"build"
true
Aunque la siguiente regresa falso, no debería devolverlo cierto ??
(rdb:63) @user.memberships.instance_methods.include?"build"
false
no podrá ver 'compilación' en una lista, probablemente se esté generando usando 'method_missing' –
¿Hay algún modo de que inspeccioné la implementación de method_missing para esto? Quiero llegar a la raíz de cómo funciona esto –
sí, intente ejecutar esto: User.new.memberships.method_missing (: build) Debería ver la excepción diciendo que se llamó al método protegido 'build', entonces puedes intentar seguirlo.Pero eso necesitaría algo de tiempo –