Closed RonaldoSosa closed 4 years ago
Hola 😁 !!
En ves que ejecutar:
@service = current_user.services.find(params[:service_id])
intenta con:
@service = Service.find(params[:service_id])
Funcionó!Muchas gracias!!! Pero me quedo la duda cuál es la diferencia entre:
@service = current_user.services.find(params[:service_id])
y
@service = Service.find(params[:service_id])?
Cuando tú corres current_user.services
, si es que tienes alguna asociación entre estos modelos, rails se encargará de buscar a todos los servicios que tengan user_id
igual al id
del current_user
. Al agregar .find
, haces que se busque, no entre todos los servicios, si no que entre los servicios asociados al usuario, lo cual te levantaba un error, ya que no encontraba ni uno con id=1.
Al poner Service.find
haces que se busque el servicio con ese id
entre todos los servicios existentes.
Yaaa me quedo claro!!!!Gracias de nuevo!!!!
Hola!Tengo un problema respecto al tema de asociaciones lo que pasa es que, tengo tres modelos los cuales son user,creado con devise, service y comment los cuales no fueron creados con devise, de los cuales entre user y service tienen una relacion de 1-N y lo mismo para user y comment, y service y comment ; agregué las asociaciones dentro de los modelos correspondientes e intente crear un formulario dentro de la vista show del modelo service para agregar un comentario , me base en el ejemplo visto en https://guides.rubyonrails.org/getting_started.html , sin embargo al hacer esto me arroja el siguiente error:
Y en la consola se ve así
Aqui adjunto una imagen del formulario para comment, su controlador y sus columnas:
Para estar seguro de si los argumentos ingresados eran suficientes para crear el comentario lo intente hacer desde la consola, con el comando rails console, y logré crear un comentario desde ahí:
Por lo cual no se exactamente donde esta el problema que provoca este error.