¿Cómo se ejecuta un bloque "hacer" en un modelo de Rails sin dejar de enumerar un: dependiente?
-
08-07-2019 - |
Pregunta
Entonces tengo un modelo de Usuario que: tiene muchos otros modelos como Documentos, Videos, Publicaciones y similares. Mi pregunta surge cuando ejecuto un '' do '' bloquear desde el modelo de usuario así:
has_many :posts do
def recent
find(:all, :order => 'created_at desc', :limit => 12)
end
end
Esto solo me permite llamar a algo como user.posts.recent para encontrar solo las publicaciones asociadas con el usuario. Con esto en su lugar, ¿cómo puedo agregar un: dependiente = > : destruir o: dependiente = > : delete_all a esta asociación? Todo lo que he intentado hasta ahora me ha fallado.
Solución
Parece que deberías echar un vistazo usando named_scope .
No hay ninguna razón por la que deba tener un bloqueo contra su asociación.
Usted debe convertir ese método reciente en un ámbito con nombre y luego puede agregar: dependiente = > destruir, etc., etc.
¡Buena suerte!
Otros consejos
Esto debería funcionar bien AFAIK:
has_many :posts, :dependent => :destroy do
def recent
find(:all, :order => 'created_at desc', :limit => 12)
end
end