arkaitzz / sg_ils

ZHIK
GNU General Public License v3.0
0 stars 0 forks source link

Issue al intentar renderizar los request de un usuario #5

Closed arkaitzz closed 6 years ago

arkaitzz commented 6 years ago

@txapelgorri puedes probar si te pasa esto?

Despues de upgradear hay algun problema con activeadmin: http://0.0.0.0:3000/users/1/requests/

NoMethodError at /users/1/requests

NoMethodError at /users/1/requests

undefined method `map!' for # Did you mean? map

captura de pantalla de 2018-01-04 11 49 49

ghost commented 6 years ago

@arkaitzz creo que tengo la solución: me sonaba de Bucca :)

Se trata de un problema con las auto_actions_for, en este caso for_user: la causa final no se exactamente cual es (quizá sea algún pequeño bug en Hobo, no lo se seguro), pero si la colección (en este caso de Requests) está vacía, pega ese pete es como si estuviese llamando a map sobre una colección nula o similar (el típico fallo de un método sobre Nil, por ejemplo: "undefined method calcular_total for nil").

El caso es que para corregirlo, habría que tener en cuenta ese posible vacío (nil) de la colección. Lo que hago es redefinir app/views/requests/index_for_user.dryml y reemplazar collection:

<index-for-user-page: without-new-link>
  <collection: replace>
  ...whatever...
  </collection:>
</index-for-user-page:>

En este caso está totalmente justificado (lo de redefinir la vista) porque esa vista es bastante obvio que no va a ser la vista que renderiza Hobo por defecto, ¿no?. Si quieres un ejemplo de un index_for... por ejemplo echa un vistazo a Bucca en app/views/bills/index_for_patient.dryml (las facturas de un paciente).

Prueba y comentamos :)

arkaitzz commented 6 years ago

lo cierro porque ya está solucionado.