-
Notifications
You must be signed in to change notification settings - Fork 2
Apuntes
- Guías oficiales
- API. API oficinal pero con comentarios y apuntes de los usuarios.
- Github se ha convertido en la forja de facto para los proyectos relacionados con Rails.
- Rubygems: Es importante tenerla como fuente: gem sources -a http://rubygems.org
- Factory_girl . Para ser utilizado en lugar de fixtures.
- Remarkable. Librería para validaciones
- restful-authentication.
- http://rspec.info/rails/
- Cheetsheet
El código en controlador tiene que ser lo más simple y ligero posible, mover toda la lógica a los modelos. Igualmente, en las vistas en general no tiene que que haber más lógica que condicionales, el resto a los helpers.
Ruby no es un lenguaje funcional, pero el soporte que tiene de algunas construcciones funcionales clásicas es importante, así que hay que conocerlas y usarlas. Ver en detalle el módulo Enumerable (http://ruby-doc.org/core/classes/Enumerable.html). Ejemplo clásico de lo que no hay que hacer (crear vacío+iterar):
passed = []
students.each do |student|
passed << student if student.grade >= 5
end
En cambio:
passed = students.select do |student|
student.grade >= 5
end
Como norma general, usar each lo menos posible (esto no aplica a las vistas, obviamente). Repasar especialmente los métodos all?, any?, map, select, reject, detect, zip, sort_by e inject de Enumerable. También ver en detalle los métodos de Array para no repetir funcionalidad ya implementada.