Juanma U. wrote:
Hola a todos.
Estoy aprendiendo rails y como primer ejercicio estoy tratando de hacer
un sistema de gestión de usuarios sencillo, login, log out y esas cosas.
Hola Juanma, si, para programar algo medianamente complejo (como han
dicho) que salga de los scaffolds básicos necesitarás estudiar, pero no
te quedes con rails, trata de estudiar también el lenguaje que está por
debajo, ruby, que tiene que sus cositas y te van a hacer muchÃsima
falta, al fin y al cabo es el código que escribes.
… me
da el error:
NoMethodError in UsuarioController#login
You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.nick
En qué linea te da ese error? Haz probado hacer un debug para saber
donde es que fallan las cosas? te recomiendo el siguiente railscast.
http://railscasts.com/episodes/54-debugging-with-ruby-debug
¿no deberÃa el modelo impedir que el usuario y la pwd puedan dejarse en
blanco? (en el modelo valido presence_of)
Las validaciones lo único que hacen es no permitir que se guarde un
objeto en la base de datos si estas no se cumplen. En el trozo de código
que haz enviado no hay ninguna llamada a save, por lo que las
validaciones no se llegan a lanzar.
En cuanto a la autenticación te aconsejo no quedarte con tu propia
versión en producción a no ser que lo hayas probado bien y entendido
todas las implicaciones, hay varios ejemplos de implementación en:
http://railscasts.com/tags/25
Recursos para estudiar:
- El libro “Programming Ruby”
Tienes la primera gratis en internet http://www.rubycentral.com/book/
y luego una segunda y tercera que puedes comprar (en pdf o en papel) en
http://pragmaticprogrammer.com/titles/ruby/index.html
Yo personalmente he comprado la tercera edición (Programming Ruby 1.9)
que aunque el nombre dice 1.9 es válido para 1.8 y deja bien claro lo
que es de 1.9 y lo que es de 1.8
- El libro “The Rails Way” de Obie F.
http://www.amazon.com/Rails-Way-Addison-Wesley-Professional-Ruby/dp/0321445619
- Los railscasts de Ryan B. (en las url que te he puesto antes)
Están realmente buenos.
- Blogs escritos hace menos de 6 meses.
Y los más antiguos también, pero teniendo en cuenta que te puedes
encontrar cosas que ya no son válidas, es lo malo de vivir “on the edge”
con un lenguaje y un framework que están en constante desarrollo.
http://api.rubyonrails.org
Uff, esto suena a muy geek, pero en realidad no es tan complejo, está
muy bien documentado y si no lo entiendes al menos te quedas como mismo
estabas, nunca peor. A mi personalmente me ha servido de mucho.
También puedes consultarlo desde el API, cuando veo la documentación de
un método en el api, voy al link de source para ver como está
implementada.
- Más código de aplicaciones hechas en ruby o en rails, en github tienes
hasta un code search.
Yo por ejemplo me he leido bastante código de los proyectos spree,
insoshi, redmine, etc.
Y por supuesto, haz bastante pruebas de lo que escribes, no te conformes
con ir y probarlo en el navegador. A mi me gusta mucho rspec más que
test:unit pero cualquiera de las dos opciones es válida.
Vaya si me he enrollao con la respuesta, espero te sirva.
Saludos,
Jorge