Screencast Build a Reading List App With Ruby on Rails Ruby

  • Gregg Pollack


  1. JisuKim82 said

    It was great to see this app incorporate so much of the material covered in the various courses. Awesome job~!

  2. Tasos said

    This was amazing. Please do more rails applications if you can. It was very enlightening!

  3. ccunnin8 said

    Super helpful in putting everything in the course together.

  4. elmehdi88 said

    Thanks, really nice screencast.

  5. samutamm said

    I liked a lot and learned too!

  6. Paul Gagnon said

    I really enjoy these soup to bits videos. They take the learning in the course and help to see it at the 10,000 ft level.

  7. Gustavo Vasconcelos said

    Moreeee! =D But a different app or the same one but pushing it beyond with more features. I do learned a lot. I don't like writing on erb though - too much verbose.

  8. surferalp said

    Course was really helpful. Thanks a lot. On the other hand, it will be more helpful if you also simultaneously make us code also. This course was really fast and did not go step by step for us(for me at least :)

  9. Faculty

    Carlos Souza said

    Thanks, everyone!

    @Surferalp the code is up on GitHub, so you can refer to that in addition to watching the video - If you have any questions, be sure to check out our forum

  10. Albert Yu said

    It is actually an easy way to clear(reset) a dirty form. By using jQuery, you can use $('form')[0].reset() method.

  11. Ryan Benedetti said

    These Soup to Bits screencasts are an excellent complement to the courses. Carlos and Gregg make a great team. Great to hear and see some of the practices Carlos uses when creating apps (RVM, seeds file with count of records generated, etc.)!

  12. Adi said

    This is awesome. Great job Carlos and Gregg. Learned so much from this....dare i say as much as i would have learned from a full fledged course !

    Please make more of these !! More complex rails apps would be great

  13. Sebastian Wilgosz said

    Hi guys, you have made awesome work! I've learned really much useful tips and best prictices or conventions about programming in ruby so this was a reason why I survived by whole video.

    I hope you'll create more stuff like this but at higher level of advancement.

  14. Zubaird said

    Great screencast! really helps seeing everything come together. BTW I use: <%= debug(params) if Rails.env.development? %> in my view to show me what params I'm sending over, helps me out a lot.

  15. Jonathon Martin said

    This is really helpful, especially the debugging. I'd love more of these.

  16. Faculty

    Carlos Souza said

    Zubaird, that's a great tip!

    Albert, I had an issue with using reset() but I can't reproduce it now. It looks like it does work with our current app, so I've updated the codebase to use that function. Thanks!

  17. Student #4176379 said

    Soup-to-bits series almost resemble actual daily life of a programmer. Be able to see how codeschool team identify the problems and work towards the solution are priceless! Congratulation to Carlos Souza and Gregg Pollack for awesome screencasts!

  18. Jeff Schuss said

    These Soup to Bits screencasts are amazing. So awesome to see the learned/practice content in the courses applied in a real-ish development environment. I know it's a lot of work and time to put these together, but perhaps consider creating Soup to Bits screencasts that combine knowledge obtained in multiple courses. In this one, you dabbled in sass, html5, git, ruby (from ruby bits 2), and js/coffee, but I found myself wanting more content in some of those areas and less in others.

  19. Francisco Castellano de Pablo said

    On of the best ways to see how things works in real life, how about deploy this on a production environment?

  20. Faculty

    Carlos Souza said

    Francisco, we actually have two screencasts about Rails deployment: and

  21. Sihui Huang said

    I love Soup to Bits! Rails for Zombies Series is great, but seeing everything put together definitely help me grab the idea better! Seeing people love RoR coding also inspires and motivates me a lot. Thanks, guys!

  22. OpenMindedInnovations said

    Wish this was in sublime. I followed, but was showing it to my friend and would have helped a ton for him to understand the app structure and seeing you navigate you through it with sublime. Overall I really liked the realistic concepts covered though. Don't know if it is quite a good follow up video to the zombies 2 video though, a little over the head of most coders that have just watched those two videos.

  23. jacob said

    I though using vim was great, it kept the focus in one place. Really good content in this video also.

  24. delonsp said

    This video was really awesome, thanks.

  25. Alexandre Voyer said

    Just finished watching the course, it's been very enjoyable to follow you guys. I've learned a lot and it was a great way to wrap up all the knowledge from the RoR Zombie courses. Great work!

  26. Renzo Ulloa said

    Nice video, maybe can elaborate in a short screencast about "rails g migration", when it fails, how go back, force errors ahd how fix it! (that's is my problem now jejeje)

    Any plan about spanish subtitile?, I would like to help

  27. wushuo1988 said

    loved it! please do more of these.

  28. danblundell said

    Absolutely ace, start to finish with mistakes included was really useful, more please!

  29. Ethan Lowry said

    This video was fantastic - more stuff like this in future on any / all of your courses would be brilliant.

  30. knightstick said

    I agree with all the previous comments, great video that really ties together all the things learned in the Rails courses. Also really good to see everything at once : Git, Rails, Vim etc, makes each separate part feel part of a whole set of tools best used together.

  31. pascal huynh said

    Bravo Carlos, Bravo Gregg ! Awesome video that makes you want to learn more and more...

  32. ilikeprogramming said

    Great video, thanks so much!

    Would been nice to download the files you used when you began working on the app (ie. the files you start copying over on minuted 46) as well as finished files so we can work alongside the video.

  33. monki32 said

    To pull the code from 46 minutes we do this (assuming you are in ~Rails_Projects/ReadingList/)

    1) cd .. 2) git clone 3) cd RFZ2SoupToBits/ 4) git checkout 9b1403d4e4a72d2e06719056cc4d7a525e27ae39 5) bundle install 6) rake db:setup 7) rails s

    The server should run as Gregg and Carlos had theirs (note copying the files from another commit won't work at this point as it has later elements, believe me I tried)

    Hopefully this helps. I don't know anything about git apart from the intro course I took on codeschool,

    Many thanks for all the great courses and to all the codeschool team.

  34. Manfern said

    Awesome video, thanks a lot! Very helpful and funny.

  35. gxespino said

    Hey guys, any way to add a speed function to the vids? Would love to play this at 1.25 or 1.5 speed just for time constraints.

  36. Wassim Metallaoui said

    Enjoyed watching you two work. Keep up this series please.

  37. Faculty

    Gregg Pollack said

    Thanks for the feedback guys. gxespino, I've added the feature request to add a speed dial. Hopefully have that added in the next week or two.

  38. Yoong Kang Lim said

    This is an amazing screencast. Thanks guys.

  39. Oscar Fanelli said

    Summary of the video - "got it" - "cool" - .EACH... oh yeaaaaaah! - Souza feels dirty if doesn't commit

    Jokes aside, great video! I watch all of it!

  40. Hyti said

    Amazing screencast! I would love to see more of those as I learned so much :D Great job, thanks!

  41. lzco said

    Thanks for putting this together. It was super useful. I learned a lot!

  42. djunger said

    Nice video, however I would suggest you create an initial git repo with your external files (bootstrap, styling, etc) so folks at home can easily start from the same page.

  43. Thundzz said

    Wow thanks a lot ... I learned so much from this course. The content was cool, you guys explain really well, plus you are so honest in the way you show us stuff. Viva code school ! Moar pliz !!

  44. guitarpedal4 said

    Thanks guys, good stuff

  45. davidrynn said

    I find these SoupToBits programs incredibly helpful. Two suggestions; 1) in the Ruby Path you should have a link to these two Rails SoupToBits screencasts - it's not showing up for me and 2) For those of us following along, the source code doesn't quite fit since it's the finished product using forms, etc. The solution was to use an older git hub repository as Monki32 very helpfully pointed out. Thanks!

  46. jeremyzaborowski said

    Great sceencast, super helpful.

    Regarding the struggle to remove the column and index of genre on books -> you used add_reference :books, :genre, index: true, so it would be easier, cleaner and more logical for other developers looking at your migrations if you just used remove_reference :books, :genre it removes the column and key.

  47. jeremyzaborowski said

    Another quick note, at around the 2 hour mark you guys are using jQuery to reset the 'new book' form, manually resetting each element. There is a reset function in jQuery, which many people think doesn't work because there is a strange requirement involved. Calling $('#new_book').reset() won't do anything, but $("#new_book")[0].reset() will fully reset the form (check boxes, text fields, select fields, radio buttons). Works like a charm.

  48. fdwillis said

    Why is it that we can pass title, description, and author without a symbol type syntax? self.keywords = [title, author, description].map(&:downcase).join(' ') Versus self.keywords = [:title, :author, :description].map(&:downcase).join(' ')

  49. MaxBorisov said

    Very cool!

  50. fabrizio said

    Very cool! Great job.

  51. Guilherme Bueno Gonçalves da Silva said

    Awesome, and as people already said: please, record more lessons like these, more rails applications. See the development itself and see how you guys handle with the errors help us not getting stuck.

  52. Tim Pinoy said

    Really enjoyed the video. It's great to hear you guys explain the process and give some more detail on what was covered.

  53. dinomaric said

    Nice video, what I really like about these videos is that you are solving same problem(Reading-List app) with different technologies, for me that is very important :)

  54. Anton Khaybulaev said

    Guys, your screencasts are simply marvelous! Even cooler that they are connected to your courses to understand and memorize material better. Keep it up! There's a little drawback though: it's hard to follow the course, especially at the beginning because you created templates of code beforehand. So you have to download it from github, then edit it according to the stage of the screencast, get a bunch of errors etc. But on the other hand it's a practice anyway.

    I understand that it was a joke, but I personally would happily learn the Chrome DevTools (mini)course. :) And linux terminal course as well.

    And I have a question: I noticed that you've got too this "wall of text rvm error" when there is a bunch of lines like from /home/user/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/commands/console.rb:110:in `start' along with any error message in the terminal. Is there any way to turn off this reporting? This really clutters the screen and I could not find any solution.

    Thank you.

  55. jhonatanpetronilho said

    Very cool! Nice content, great job! :)

  56. asatwal01 said

    Great screencast. Particularly like the way in which the screencast reinforces material learnt in the main course.

  57. HectorOrdonez said

    This is a great video. One of the things I like the most about it, is the "personal touch". You guys make mistakes, think about it, find the solution.

    Of course we ALL do that, but putting it in a video makes me feel I am seeing a real video with real people. Makes me feel sort of welcome.

    Thanks again. You make learning easy.

  58. HectorOrdonez said

    By the way, clicking on genres will disable the new book opening, due to turbolinks: the page will not be reloaded but the content, but the body will be replaced. As a consequence the new book link will be new and not being listened to.

    I fixed this in my testing app changing, putting the ready function into a variable and then...

    $(document).ready(ready) $(document).on('page:load', ready)

    If someone has a better idea about how to approach this I'd love to hear it!

  59. Anthony Lamorte said

    This is a great screencast. There were some bits where I needed to pause to check out the github repo and do a little catch up so that I could do the work along with the video. However, that in itself was a pretty cool learning experience, in addition to the video itself really hammering home the concepts from the Rails for Zombies 2.

  60. jfinzel said

    Awesome! I'd love to see more videos getting into more complex architecture needed for most applications. I'd love to see in particular good use cases in rails apps for using things like procs and blocks.

  61. Mordechai said

    where should I keep image file for paperclip to use it in seeds.rb? what is the best practice

  62. Cyrus Gorjipour said

    Thank you very much for this video. Helps alot to see you guys develop this from beginning. Love that we see you guys going through the bugs and errors to try to figure out what is wrong and how to fix'em.

  63. IbrahimLa said

    I've seen this video 3 times and each one i learned a lot of interesting stuff. Thanks Guys!!

  64. metuldann said

    Was brilliant. Thanks guys. Please do more! :)

  65. Andrey Leonov said

    Great course!

    Alternative fix "New book" button (see "Rails 4. Outlaws" course, level 7 for details):

    initialize = -> $('#show-form').click (t) -> t.preventDefault() $('.book-form').toggle() return return

    $(document).ready initialize $(document).on 'page:load', initialize

  66. Andrey Leonov said

    initialize = ->

    $('#show-form').click (t) ->





    $(document).ready initialize

    $(document).on 'page:load', initialize

  67. Daniel Llinas said

    Great video! One piece of feedback: When you add all your pre-created code, could you flash a still image of the code itself so that we can follow along with you as you build out new features?

    I cloned the repo, but I learn better if I can follow along and do it as you do.

  68. Alex Miller said

    Wow guys! Yes, it was long, but I got a lot out of it.

  69. ngprnk said

    download links not working for this video

  70. Josep Servat Lorca said

    Great Job, Carlos Souza is a true rails master. Thank you a lot this video help me a lot to improve my rails skills.

  71. Richard Matthews said

    Awesome video!

  72. amplo said

    great stuff!

  73. darrenbrett said

    Great video. Very instructive - especially seeing all the real-time debugging. I think this was my favorite Soup epi so far. And it was good that Gregg focused on slowing down at points, so we, the viewers, could see exactly what errors and such were being thrown. This was an excellent reminder that mistakes happen! Great work, Carlos and Gregg!

  74. danielmachonestle said

    Really cool soup to bits session. Carlos and Gregg are making a very nice tandem driving us through the 'reading book list' demo application. Congrats once again.

  75. darrenbrett said

    Great screencast, guys. One question: I have created a new rails app, the cd into it - all good. But when I run "rails s" to fire up the server I'm now getting error messages that end like this:

    "...runtime.rb.72:in 'block-in-require' " 'each' " 'require'

    And on it goes, for about 10 lines of errors. Do I need to run something again to resolve this. Anyone know?

  76. Roman said

    Somewhere around 44 minute i felt that i'm watching "how to draw an owl meme". Most of explanations is good, but if you was hoping to follow each step and create nice looking app by your own - forget about it. This guys copying some styles/markups out of nowhere. So don't waste your time on following each step, just watch...

  77. Alexd1001 said

    Min 33:05, what shortcut did he use to get the last path in a new entry?

  78. vickenliu said

    i got a way to replace using joins, when we click on one genre, filter passing the genre name, so we can Genre.find_by(name).books to show on the view, cuz if i use the method with joins, when after filtering, i dont know why the other genres the book has all gone. with my method, book's genres are showing properly

  79. Marin R said

    @Carlos, at 28m30s you use a window manager which split your screen in little squares, what's the name of the app ? Thanks so much !

  80. Pere Sola said

    can we find somewhere the original templates that Carlos is using? There are only the final ones in GitHub, and it's a bit hard to follow the changes he's doing

  81. Faculty

    Stefan Nychka said

    Marin R, not 100%, but pretty sure it's Moom,

    Pere Sola, not that I'm aware, but you may find something in the commit history that's useful

  82. samx7 said

    This was great. Thank you :)

  83. kelvinmatheus said

    Congratulation, this was a wonderful soup of bits. Carlos, you mentioned about a technic to search information that is to do a join the properties title, author and description in a property called keywords. Who this technic is called? I would like to learn more about that and I want to show my co-workers the references about this informartion.

    Thanks for your attention.


    Kelvin Matheus

  84. t3_rrY said

    Great video, it really helped and I've learned a lot, thank you guys

  85. Mario De Leon said

    After 2 years still a very good material. Fun to watch guys !!

  86. Dimitris Aivatoglou said

    very good material and helpful to watch as it binds all rails course together. I would suggest to do some more "watch us build" stuff with various gems and javascript libraries. And please make an Android app already! :)

  87. Temitope Fowotade said

    Good job!

  88. Surya Kant Tyagi said

    You are awesome, lovely teaching, it was engaging and I never felt bored. I have only one suggestion sometimes the speed of coding was little fast, I had to stop the video several times. Overall, great learning and awesome teaching.

About This Screencast

After you take the Rails for Zombies 2 course, you can watch this screencast to learn more Rails tips and tricks. Gregg Pollack and Carlos Souza build a Reading List app, similar to the ones built in previous episodes of this series.

You need to be an enrolled student in order to view this video and subscribe.

Enroll Now