Curso de Rails para el Master de Deusto, día 4
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Curso de Rails para el Master de Deusto, día 4

on

  • 887 views

 

Statistics

Views

Total Views
887
Views on SlideShare
887
Embed Views
0

Actions

Likes
0
Downloads
30
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Curso de Rails para el Master de Deusto, día 4 Presentation Transcript

  • 1. Ruby on Rails Master Universitario en Desarrollo e Integración de Soluciones de Software Universidad de Deusto Día 4jueves 3 de febrero de 2011
  • 2. ¿Dónde estabamos?jueves 3 de febrero de 2011
  • 3. Página de iniciojueves 3 de febrero de 2011
  • 4. Loginjueves 3 de febrero de 2011
  • 5. Página de un usuariojueves 3 de febrero de 2011
  • 6. ¿Qué es lo siguiente? • Los usuarios pueden elegir qué tweets quieren ver: seguidores y seguidosjueves 3 de febrero de 2011
  • 7. ¿Qué vamos a usar? • Relaciones many_to_many • Migraciones • Ajax • rails console • ...jueves 3 de febrero de 2011
  • 8. ¿Qué queremos conseguir? • El usuario se conecta. • Va a la lista de usuarios. • Va a la página del usuario que quiere seguir. • Pincha en el enlace “Seguir” y así añade a este usuario a la lista de usuarios que sigue. • Ahora, en la página del primer usuario salen los tweets del que acaba de empezar a seguirjueves 3 de febrero de 2011
  • 9. Empezamos por el modelo User has_many :followers User has_many :followingjueves 3 de febrero de 2011
  • 10. La relación entre los usuarios User has_many :relationships User has_many :following :through => :relationships ... User has_many :followers :through => :relationships ...jueves 3 de febrero de 2011
  • 11. Manos a la obrajueves 3 de febrero de 2011
  • 12. La migraciónjueves 3 de febrero de 2011
  • 13. La tabla relationshipsjueves 3 de febrero de 2011
  • 14. El modelo Relationshipjueves 3 de febrero de 2011
  • 15. Fixture por defecto test/fixtures/relationships.ymljueves 3 de febrero de 2011
  • 16. Fixture para nuestros datos test/fixtures/relationships.ymljueves 3 de febrero de 2011
  • 17. Unit test para Relationship test/unit/relationship_test.rbjueves 3 de febrero de 2011
  • 18. Unit test para Relationship test/unit/relationship_test.rbjueves 3 de febrero de 2011
  • 19. Unit test para Relationship test/unit/relationship_test.rbjueves 3 de febrero de 2011
  • 20. La relación entre los usuarios User has_many :relationships User has_many :following :through => :relationships ... User has_many :followers :through => :relationships ...jueves 3 de febrero de 2011
  • 21. Relación User - Relationship app/models/user.rbjueves 3 de febrero de 2011
  • 22. Test de la relación User - Relationship test/unit/user_test.rbjueves 3 de febrero de 2011
  • 23. La relación entre los usuarios User has_many :relationships User has_many :following :through => :relationships ... User has_many :followers :through => :relationships ...jueves 3 de febrero de 2011
  • 24. Relación User - Following app/models/user.rbjueves 3 de febrero de 2011
  • 25. Test de la relación User - Following test/unit/user_test.rbjueves 3 de febrero de 2011
  • 26. Relación User - Following II Además de la lista de personas que el usuario sigue(following) necesitamos algunos métodos que nos ayudarán a manejar las relaciones: • comprobar si una relación ya existe: follows? • crear un relación: follow • eliminar una relación: unfollowjueves 3 de febrero de 2011
  • 27. Relación User - Following II app/models/user.rbjueves 3 de febrero de 2011
  • 28. Tests de la relación User - Following II test/units/user.rbjueves 3 de febrero de 2011
  • 29. La relación entre los usuarios User has_many :relationships User has_many :following :through => :relationships ... User has_many :followers :through => :relationships ...jueves 3 de febrero de 2011
  • 30. Relación User - Followers app/models/user.rbjueves 3 de febrero de 2011
  • 31. Tests de la relación User - Followers II test/unit/user.rbjueves 3 de febrero de 2011
  • 32. La relación entre los usuarios User has_many :relationships User has_many :following :through => :relationships ... User has_many :followers :through => :relationships ...jueves 3 de febrero de 2011
  • 33. ¡Os toca!jueves 3 de febrero de 2011
  • 34. ¿Qué queremos conseguir? • El usuario se conecta. • Va a la lista de usuarios. • Va a la página del usuario que quiere seguir. • Pincha en el botón “Seguir” y así añade a este usuario a la lista de usuarios que sigue. • Ahora, en la página del primer usuario salen los tweets del que acaba de empezar a seguirjueves 3 de febrero de 2011
  • 35. jueves 3 de febrero de 2011
  • 36. Interfaz web • El usuario se conecta. • Va a la lista de usuarios. • Va a la página del usuario que quiere seguir. • Pincha en el botón “Seguir” y así añade a este usuario a la lista de usuarios que sigue. • Ahora, en la página del primer usuario salen los tweets del que acaba de empezar a seguirjueves 3 de febrero de 2011
  • 37. jueves 3 de febrero de 2011
  • 38. jueves 3 de febrero de 2011
  • 39. Lista de usuarios: requisitos • Los usuarios conectados pueden ver la lista de todos los usuarios • Los usuarios que no han entrado (visitantes) no pueden ver ningún usuario.jueves 3 de febrero de 2011
  • 40. Lista de usuarios: el controller Hay que añadir el método index y restringir el acceso a este método para que sea accesible sólo para los usuarios conectados.jueves 3 de febrero de 2011
  • 41. Lista de usuarios: el controller y el viewjueves 3 de febrero de 2011
  • 42. Lista de usuarios ¿Porqué sale error?jueves 3 de febrero de 2011
  • 43. Lista de usuarios: las rutasjueves 3 de febrero de 2011
  • 44. Lista de usuariosjueves 3 de febrero de 2011
  • 45. Lista de usuarios: enalce Añadir el enlace a la lista de usuarios.jueves 3 de febrero de 2011
  • 46. Lista de usuarios: enalce app/views/layouts/application.html.erbjueves 3 de febrero de 2011
  • 47. Lista de usuarios: enlacejueves 3 de febrero de 2011
  • 48. Lista de usuarios: requisitos • Los usuarios conectados pueden ver la lista de todos los usuarios • Los visitantes no pueden ver ningún usuario.jueves 3 de febrero de 2011
  • 49. Es hora de hacer algunos tests • Los usuarios conectados ven la lista de usuarios. • Los visitantes no ven el enlace si la lista de usuarios. • Los usuarios conectados ven el enlace a la lista de usuarios.jueves 3 de febrero de 2011
  • 50. Lista de usuarios: los testsjueves 3 de febrero de 2011
  • 51. Lista de usuarios: los tests No hemos hecho nada para que los visitantes no puedan ver la lista de usuarios.jueves 3 de febrero de 2011
  • 52. Lista de usuarios: los visitantes no la ven app/controllers/users_controller.rbjueves 3 de febrero de 2011
  • 53. Lista de usuarios: los tests Hay que cambiar el mensaje que mostramos al visitante.jueves 3 de febrero de 2011
  • 54. Lista de usuarios: mensaje para los visitantes app/controllers/application_controller.rbjueves 3 de febrero de 2011
  • 55. Lista de usuarios: mensaje para los visitantes app/controllers/application_controller.rbjueves 3 de febrero de 2011
  • 56. Lista de usuarios: los testsjueves 3 de febrero de 2011
  • 57. Es hora de hacer algunos tests • Los usuarios conectados ven la lista de usuarios. • Los visitantes no ven el enlace si la lista de usuarios. • Los usuarios conectados ven el enlace a la lista de usuarios. (deberes)jueves 3 de febrero de 2011
  • 58. Lista de usuarios: requisitos • Los usuarios conectados pueden ver la lista de todos los usuarios • Los visitantes no pueden ver ningún usuario.jueves 3 de febrero de 2011
  • 59. Interfaz web • El usuario se conecta. • Va a la lista de usuarios. • Va a la página del usuario que quiere seguir. • Pincha en el enlace “Seguir” y así añade a este usuario a la lista de usuarios que sigue. • Ahora, en la página del primer usuario salen los tweets del que acaba de empezar a seguirjueves 3 de febrero de 2011
  • 60. Página de un usuario: el controller, el view y la rutajueves 3 de febrero de 2011
  • 61. Página de un usuariojueves 3 de febrero de 2011
  • 62. Ir a la página de un usuariojueves 3 de febrero de 2011
  • 63. Ir a la página de un usuario: app/views/users/index.html.erbjueves 3 de febrero de 2011
  • 64. Interfaz web • El usuario se conecta. • Va a la lista de usuarios. • Va a la página del usuario que quiere seguir. • Pincha en el botón “Seguir” y así añade a este usuario a la lista de usuarios que sigue. • Ahora, en la página del primer usuario salen los tweets del que acaba de empezar a seguirjueves 3 de febrero de 2011
  • 65. Seguir y dejar de seguir Seguir: relationships_controller crear una relación create seguidor-seguido Dejar de seguir: relationships_controller eliminar la relación destroy seguidor-seguidojueves 3 de febrero de 2011
  • 66. Seguir y dejar de seguir: el controller y las rutasjueves 3 de febrero de 2011
  • 67. Seguir y dejar de seguir: app/controllers/relationships_controller.rbjueves 3 de febrero de 2011
  • 68. Seguir y dejar de seguir: test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
  • 69. Seguir y dejar de seguir: test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
  • 70. Seguir y dejar de seguir: el formulariojueves 3 de febrero de 2011
  • 71. Seguir y dejar de seguir: el formulariojueves 3 de febrero de 2011
  • 72. jueves 3 de febrero de 2011
  • 73. Seguir y dejar de seguir: test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
  • 74. Seguir y dejar de seguir: test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
  • 75. Seguir y dejar de seguir: app/controllers/relationships_controller.rbjueves 3 de febrero de 2011
  • 76. Seguir y dejar de seguir: Ajaxjueves 3 de febrero de 2011
  • 77. jueves 3 de febrero de 2011
  • 78. Interfaz web • El usuario se conecta. • Va a la lista de usuarios. • Va a la página del usuario que quiere seguir. • Pincha en el botón “Seguir” y así añade a este usuario a la lista de usuarios que sigue. • Ahora, en la página del primer usuario salen los tweets del que acaba de empezar a seguirjueves 3 de febrero de 2011
  • 79. Página de iniciojueves 3 de febrero de 2011
  • 80. Página de iniciojueves 3 de febrero de 2011
  • 81. Nueva página de inicio • Los usuarios conectados ven los mensajes de los usuarios que siguen • Los visitantes ven todos los mensajesjueves 3 de febrero de 2011
  • 82. Nueva página de iniciojueves 3 de febrero de 2011
  • 83. Mensajes que ve un usuariojueves 3 de febrero de 2011
  • 84. Mensajes para un usuario el id del usuario el id del seguidojueves 3 de febrero de 2011
  • 85. Mensajes para un usuariojueves 3 de febrero de 2011
  • 86. Nueva página de iniciojueves 3 de febrero de 2011
  • 87. Interfaz web • El usuario se conecta. • Va a la lista de usuarios. • Va a la página del usuario que quiere seguir. • Pincha en el botón “Seguir” y así añade a este usuario a la lista de usuarios que sigue. • Ahora, en la página del primer usuario salen los tweets del que acaba de empezar a seguirjueves 3 de febrero de 2011
  • 88. Retoques • Enlace a la página del usuario conectado: Profile • Enlace a la página de inicio: Homejueves 3 de febrero de 2011
  • 89. Nueva página de iniciojueves 3 de febrero de 2011
  • 90. Lugares de referencia • http://railstutorial.org • Documentación del API de Rails: http://api.rubyonrails.org ó http://railsapi.com • Rails Guides: http://guides.rubyonrails.org/ • “Chuletas”: http://blog.envylabs.com/Rails_3_Cheat_Sheets.pdfjueves 3 de febrero de 2011