Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ruby on Rails                      Master Universitario en Desarrollo e Integración de                                   S...
¿Dónde estabamos?jueves 3 de febrero de 2011
Página de iniciojueves 3 de febrero de 2011
Loginjueves 3 de febrero de 2011
Página de un usuariojueves 3 de febrero de 2011
¿Qué es lo siguiente?                 • Los usuarios pueden elegir qué tweets                         quieren ver: seguido...
¿Qué vamos a usar?                     • Relaciones many_to_many                     • Migraciones                     • A...
¿Qué queremos                                    conseguir?                     • El usuario se conecta.                  ...
Empezamos por el modelo                              User has_many :followers                              User has_many :...
La relación entre los                                    usuarios                                 User has_many :relations...
Manos a la obrajueves 3 de febrero de 2011
La migraciónjueves 3 de febrero de 2011
La tabla relationshipsjueves 3 de febrero de 2011
El modelo Relationshipjueves 3 de febrero de 2011
Fixture por defecto                              test/fixtures/relationships.ymljueves 3 de febrero de 2011
Fixture para nuestros datos                              test/fixtures/relationships.ymljueves 3 de febrero de 2011
Unit test para Relationship                              test/unit/relationship_test.rbjueves 3 de febrero de 2011
Unit test para Relationship                              test/unit/relationship_test.rbjueves 3 de febrero de 2011
Unit test para Relationship                              test/unit/relationship_test.rbjueves 3 de febrero de 2011
La relación entre los                                    usuarios                                 User has_many :relations...
Relación User - Relationship                              app/models/user.rbjueves 3 de febrero de 2011
Test de la relación User - Relationship                              test/unit/user_test.rbjueves 3 de febrero de 2011
La relación entre los                                    usuarios                                 User has_many :relations...
Relación User - Following                              app/models/user.rbjueves 3 de febrero de 2011
Test de la relación User - Following                              test/unit/user_test.rbjueves 3 de febrero de 2011
Relación User - Following II      Además de la lista de personas que el usuario sigue(following) necesitamos algunos métod...
Relación User - Following II                                   app/models/user.rbjueves 3 de febrero de 2011
Tests de la relación User - Following II                              test/units/user.rbjueves 3 de febrero de 2011
La relación entre los                                    usuarios                                 User has_many :relations...
Relación User - Followers                                  app/models/user.rbjueves 3 de febrero de 2011
Tests de la relación User - Followers II                              test/unit/user.rbjueves 3 de febrero de 2011
La relación entre los                                    usuarios                                 User has_many :relations...
¡Os toca!jueves 3 de febrero de 2011
¿Qué queremos                                    conseguir?                     • El usuario se conecta.                  ...
jueves 3 de febrero de 2011
Interfaz web                     • El usuario se conecta.                     • Va a la lista de usuarios.                ...
jueves 3 de febrero de 2011
jueves 3 de febrero de 2011
Lista de usuarios: requisitos                     • Los usuarios conectados pueden ver la lista de                        ...
Lista de usuarios: el controller                              Hay que añadir el método index y restringir                 ...
Lista de usuarios:                              el controller y el viewjueves 3 de febrero de 2011
Lista de usuarios                                ¿Porqué sale error?jueves 3 de febrero de 2011
Lista de usuarios: las rutasjueves 3 de febrero de 2011
Lista de usuariosjueves 3 de febrero de 2011
Lista de usuarios: enalce                                     Añadir el enlace a la lista de usuarios.jueves 3 de febrero ...
Lista de usuarios: enalce                    app/views/layouts/application.html.erbjueves 3 de febrero de 2011
Lista de usuarios: enlacejueves 3 de febrero de 2011
Lista de usuarios: requisitos                     • Los usuarios conectados pueden ver la lista de                        ...
Es hora de hacer algunos tests                     • Los usuarios conectados ven la lista de                              ...
Lista de usuarios: los testsjueves 3 de febrero de 2011
Lista de usuarios: los tests                            No hemos hecho nada para que los                       visitantes ...
Lista de usuarios:                                   los visitantes no la ven                              app/controllers...
Lista de usuarios: los tests                      Hay que cambiar el mensaje que mostramos                                ...
Lista de usuarios:                                    mensaje para los visitantes                              app/control...
Lista de usuarios:                                    mensaje para los visitantes                              app/control...
Lista de usuarios: los testsjueves 3 de febrero de 2011
Es hora de hacer algunos tests                     • Los usuarios conectados ven la lista de                              ...
Lista de usuarios: requisitos                     • Los usuarios conectados pueden ver la lista de                        ...
Interfaz web                     • El usuario se conecta.                     • Va a la lista de usuarios.                ...
Página de un usuario:                              el controller, el view y la rutajueves 3 de febrero de 2011
Página de un usuariojueves 3 de febrero de 2011
Ir a la página de un usuariojueves 3 de febrero de 2011
Ir a la página de un usuario:                              app/views/users/index.html.erbjueves 3 de febrero de 2011
Interfaz web                     • El usuario se conecta.                     • Va a la lista de usuarios.                ...
Seguir y dejar de seguir                      Seguir:         relationships_controller                crear una relación  ...
Seguir y dejar de seguir:                              el controller y las rutasjueves 3 de febrero de 2011
Seguir y dejar de seguir:                  app/controllers/relationships_controller.rbjueves 3 de febrero de 2011
Seguir y dejar de seguir:                   test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
Seguir y dejar de seguir:                   test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
Seguir y dejar de seguir:                                  el formulariojueves 3 de febrero de 2011
Seguir y dejar de seguir:                                  el formulariojueves 3 de febrero de 2011
jueves 3 de febrero de 2011
Seguir y dejar de seguir:                   test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
Seguir y dejar de seguir:                   test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
Seguir y dejar de seguir:                              app/controllers/relationships_controller.rbjueves 3 de febrero de 2...
Seguir y dejar de seguir:                                     Ajaxjueves 3 de febrero de 2011
jueves 3 de febrero de 2011
Interfaz web                     • El usuario se conecta.                     • Va a la lista de usuarios.                ...
Página de iniciojueves 3 de febrero de 2011
Página de iniciojueves 3 de febrero de 2011
Nueva página de inicio                     • Los usuarios conectados ven los mensajes de                              los ...
Nueva página de iniciojueves 3 de febrero de 2011
Mensajes que ve un usuariojueves 3 de febrero de 2011
Mensajes para un usuario                                 el id del usuario   el id del seguidojueves 3 de febrero de 2011
Mensajes para un usuariojueves 3 de febrero de 2011
Nueva página de iniciojueves 3 de febrero de 2011
Interfaz web                     • El usuario se conecta.                     • Va a la lista de usuarios.                ...
Retoques                     •        Enlace a la página del usuario conectado: Profile                     •        Enlace...
Nueva página de iniciojueves 3 de febrero de 2011
Lugares de referencia                     • http://railstutorial.org                     • Documentación del API de Rails:...
Upcoming SlideShare
Loading in …5
×

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

910 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

  1. 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. 2. ¿Dónde estabamos?jueves 3 de febrero de 2011
  3. 3. Página de iniciojueves 3 de febrero de 2011
  4. 4. Loginjueves 3 de febrero de 2011
  5. 5. Página de un usuariojueves 3 de febrero de 2011
  6. 6. ¿Qué es lo siguiente? • Los usuarios pueden elegir qué tweets quieren ver: seguidores y seguidosjueves 3 de febrero de 2011
  7. 7. ¿Qué vamos a usar? • Relaciones many_to_many • Migraciones • Ajax • rails console • ...jueves 3 de febrero de 2011
  8. 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. 9. Empezamos por el modelo User has_many :followers User has_many :followingjueves 3 de febrero de 2011
  10. 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. 11. Manos a la obrajueves 3 de febrero de 2011
  12. 12. La migraciónjueves 3 de febrero de 2011
  13. 13. La tabla relationshipsjueves 3 de febrero de 2011
  14. 14. El modelo Relationshipjueves 3 de febrero de 2011
  15. 15. Fixture por defecto test/fixtures/relationships.ymljueves 3 de febrero de 2011
  16. 16. Fixture para nuestros datos test/fixtures/relationships.ymljueves 3 de febrero de 2011
  17. 17. Unit test para Relationship test/unit/relationship_test.rbjueves 3 de febrero de 2011
  18. 18. Unit test para Relationship test/unit/relationship_test.rbjueves 3 de febrero de 2011
  19. 19. Unit test para Relationship test/unit/relationship_test.rbjueves 3 de febrero de 2011
  20. 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. 21. Relación User - Relationship app/models/user.rbjueves 3 de febrero de 2011
  22. 22. Test de la relación User - Relationship test/unit/user_test.rbjueves 3 de febrero de 2011
  23. 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. 24. Relación User - Following app/models/user.rbjueves 3 de febrero de 2011
  25. 25. Test de la relación User - Following test/unit/user_test.rbjueves 3 de febrero de 2011
  26. 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. 27. Relación User - Following II app/models/user.rbjueves 3 de febrero de 2011
  28. 28. Tests de la relación User - Following II test/units/user.rbjueves 3 de febrero de 2011
  29. 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. 30. Relación User - Followers app/models/user.rbjueves 3 de febrero de 2011
  31. 31. Tests de la relación User - Followers II test/unit/user.rbjueves 3 de febrero de 2011
  32. 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. 33. ¡Os toca!jueves 3 de febrero de 2011
  34. 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. 35. jueves 3 de febrero de 2011
  36. 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. 37. jueves 3 de febrero de 2011
  38. 38. jueves 3 de febrero de 2011
  39. 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. 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. 41. Lista de usuarios: el controller y el viewjueves 3 de febrero de 2011
  42. 42. Lista de usuarios ¿Porqué sale error?jueves 3 de febrero de 2011
  43. 43. Lista de usuarios: las rutasjueves 3 de febrero de 2011
  44. 44. Lista de usuariosjueves 3 de febrero de 2011
  45. 45. Lista de usuarios: enalce Añadir el enlace a la lista de usuarios.jueves 3 de febrero de 2011
  46. 46. Lista de usuarios: enalce app/views/layouts/application.html.erbjueves 3 de febrero de 2011
  47. 47. Lista de usuarios: enlacejueves 3 de febrero de 2011
  48. 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. 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. 50. Lista de usuarios: los testsjueves 3 de febrero de 2011
  51. 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. 52. Lista de usuarios: los visitantes no la ven app/controllers/users_controller.rbjueves 3 de febrero de 2011
  53. 53. Lista de usuarios: los tests Hay que cambiar el mensaje que mostramos al visitante.jueves 3 de febrero de 2011
  54. 54. Lista de usuarios: mensaje para los visitantes app/controllers/application_controller.rbjueves 3 de febrero de 2011
  55. 55. Lista de usuarios: mensaje para los visitantes app/controllers/application_controller.rbjueves 3 de febrero de 2011
  56. 56. Lista de usuarios: los testsjueves 3 de febrero de 2011
  57. 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. 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. 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. 60. Página de un usuario: el controller, el view y la rutajueves 3 de febrero de 2011
  61. 61. Página de un usuariojueves 3 de febrero de 2011
  62. 62. Ir a la página de un usuariojueves 3 de febrero de 2011
  63. 63. Ir a la página de un usuario: app/views/users/index.html.erbjueves 3 de febrero de 2011
  64. 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. 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. 66. Seguir y dejar de seguir: el controller y las rutasjueves 3 de febrero de 2011
  67. 67. Seguir y dejar de seguir: app/controllers/relationships_controller.rbjueves 3 de febrero de 2011
  68. 68. Seguir y dejar de seguir: test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
  69. 69. Seguir y dejar de seguir: test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
  70. 70. Seguir y dejar de seguir: el formulariojueves 3 de febrero de 2011
  71. 71. Seguir y dejar de seguir: el formulariojueves 3 de febrero de 2011
  72. 72. jueves 3 de febrero de 2011
  73. 73. Seguir y dejar de seguir: test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
  74. 74. Seguir y dejar de seguir: test/functionals/relationships_controller_test.rbjueves 3 de febrero de 2011
  75. 75. Seguir y dejar de seguir: app/controllers/relationships_controller.rbjueves 3 de febrero de 2011
  76. 76. Seguir y dejar de seguir: Ajaxjueves 3 de febrero de 2011
  77. 77. jueves 3 de febrero de 2011
  78. 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. 79. Página de iniciojueves 3 de febrero de 2011
  80. 80. Página de iniciojueves 3 de febrero de 2011
  81. 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. 82. Nueva página de iniciojueves 3 de febrero de 2011
  83. 83. Mensajes que ve un usuariojueves 3 de febrero de 2011
  84. 84. Mensajes para un usuario el id del usuario el id del seguidojueves 3 de febrero de 2011
  85. 85. Mensajes para un usuariojueves 3 de febrero de 2011
  86. 86. Nueva página de iniciojueves 3 de febrero de 2011
  87. 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. 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. 89. Nueva página de iniciojueves 3 de febrero de 2011
  90. 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

×