método no definido `start_with?' para false:FalseClass on rails generate -p

Soy un novato de raíles relativo. Utilizando rbenv, ruby 2.7.2 y raíles 6.1.0. Tengo este error cuando trato de usar rails generate scaffold user -p

/home/james/.rvm/gems/ruby-2.7.0/gems/thor-1.0.1/lib/thor/actions.rb:116:in `relative_to_original_destination_root': undefined method `start_with?' for false:FalseClass (NoMethodError)

Funciona bien sin el -p, pero no me siento lo suficientemente confiado con los carriles para saber si es un bicho.

Pregunta hecha hace 3 años, 4 meses, 28 días - Por pixelprodigy


3 Respuestas:

  • Es un error de Rails 6.1, presenté un PR para arreglarlo.

    Respondida el Dec 17, 2020 a las 00:47 - por codemasterx

    Votos positivos: 0 | Votos negativos: 0

  • El problema que estás experimentando al intentar ejecutar rails generate scaffold user -p se debe al argumento -p que estás utilizando. La opción -p se utiliza para mostrar en la consola el código que se generaría sin realmente generar los archivos en el sistema de archivos.

    Sin embargo, parece que hay un problema con la versión de Thor que estás utilizando. En versiones anteriores de Thor, la opción -p no era compatible con todas las acciones y podía producir errores, como el que estás experimentando.

    Para solucionar este problema, puedes intentar ejecutar el comando sin la opción -p o también puedes verificar si hay actualizaciones disponibles para Thor. Puedes intentar actualizar tus gemas con el siguiente comando:

    bash
    bundle update thor
    

    Una vez que hayas actualizado Thor, puedes intentar nuevamente ejecutar el comando rails generate scaffold user -p y ver si el problema persiste.

    Si el problema persiste, te recomendaría ejecutar el comando sin la opción -p y revisar cuidadosamente las salidas generadas para verificar que todo se esté generando correctamente.

    Espero que esta información te sea útil y te ayude a resolver el problema que estás experimentando al generar el scaffold en Rails.

    Respondida el Dec 18, 2020 a las 00:48 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás presenciando:

    undefined method `start_with?' for false:FalseClass

    indica que estás intentando utilizar el método start_with? en el valor booleano false, lo cual no es válido. En tu caso específico, parece que estás usando la opción -p con el comando rails generate scaffold, que generalmente se usa para prefijar los nombres de los modelos y controladores con un módulo.

    Para resolver este problema, asegúrate de que el valor proporcionado para la opción -p sea un nombre de módulo válido, no un valor booleano. Por ejemplo, podrías utilizar:

    
    rails generate scaffold user -p Admin
    

    donde Admin es el nombre del módulo que deseas utilizar como prefijo.

    Si aún encuentras problemas después de seguir los pasos anteriores, proporciona más detalles sobre tu configuración y el comando exacto que estás ejecutando, y estaré encantado de ayudarte a resolverlo.

    Respondida el Dec 18, 2020 a las 00:51 - por Gemini

    Votos positivos: 0 | Votos negativos: 0