Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby Build a Todo List Application with Rails 4 Build a Todo List Application with Rails 4 Viewing Todo Items: Part 2

SERGIO RODRIGUEZ
SERGIO RODRIGUEZ
17,532 Points

Anybody else feeling lost in the "Build a simple Todo List app with Rails 4" course?

I took the complete "Learn Ruby Track" before starting the "Rails Development track". The "Build a simple Todo List" course is the first course of the track to "teach" Rails and so far, besides testing I really have not learned much about how Rails work.

I feel like a chimp typing everything I see on the screen. Everything is working fine in the app, but I'm not understanding most of the concepts.

Anybody feeling the same way?

13 Answers

SERGIO RODRIGUEZ
SERGIO RODRIGUEZ
17,532 Points

I finally found the answer, although it may not be what you are expecting. I quit treehouse and read the 'Learn Rails' book by Daniel Kehoe. The book is amazing for absolute beginners! It is extremely easy to read. It will become one of your key reference books to solve questions.

I agree Sergio. The title of the course is misleading for beginners and its should be rename testing with RSpec

Its a very poor structured course if you were following the Rails path. It jump from basic rails basic console commands to testing without filling the gap with the basic structure and flow of a rails app.

David Ker
David Ker
14,439 Points

My advice: keep pushing! What they're trying to teach you is called Test Driven Development (or TDD), where you write the tests first, then write the code to make the tests pass. It's a big part of the "Rails way", and you'll keep seeing it come up in further Rails courses.

My takeaway from the Todo List app course was that it's meant as a high-level overview of Rails. There are so many new concepts that are Rails-specific (not Ruby) that it'll take several courses to go over everything in greater detail. You'll start having "Aha!" moments in later courses when he explains a concept that you're just typing now -- and then it'll stick with you!

SERGIO RODRIGUEZ
SERGIO RODRIGUEZ
17,532 Points

I'm seriously thinking about looking for outside resources. The experience is turning very frustrating.

Nathaniel Quashie
Nathaniel Quashie
4,376 Points

I know this is a bit late, but I have a solid understanding of rails and this title of the course is simply misleading. If they didn't use scaffold to essentially build out the entire application for you "Rails Magic" then it would have been building a todo list, because you'd have to config routes, write controllers, views, and models yourself. This course is a great introduction to TDD using RSPEC and should be renamed to reflect this.

Brett Bird
Brett Bird
2,659 Points

I'm in the EXACT boat as you Pavel. I'm just writing things...and I have a good understanding of model view controllers. I also like to make flash cards as I learn so I don't forget old stuff. The problem is I only like to make a flash card if I feel like I really understand it enough to make an explanation for my future self to circle back with. I've made probably 1 or 2 cards with this course. I kind of get what's happening but really am just struggling to keep up with him, constantly pausing. I have no idea what stuff is Rspec, what's capybara, whats rails, etc.

I'm not saying it's a bad course but a HORRIBLE intro to rails.

Pavel Razuvayev
Pavel Razuvayev
4,128 Points

I actually figured it out. This course is poorly structured because it should be a workshop, like the one they have on Cucumber testing. This course should be also stating explicitly that it's not "Build a simple Todo List app with Rails 4" but in fact it is intro to Test Driven Development. Better wording would be "Build a Rails Todo List App with TDD/Rspec."

I have a friend who is a developer, he explained that it's just a development process. Write simple test first, make it fail, add just enough code to pass it, refactor, and continue with another test. So essentially you are not writing an app first and then test it, you write tests and then tests are guiding your development process. It's slow and tedious because you are making the app bits by bits and eventually it becomes the full app.

From what I hear... it's how Rails jobs are. Weeee.......

So yeah, if you are a hobbyist then I'd skip TDD but if you are looking for a job eventually then get used to the pain. I know I have to suck it up now...

P.S. If you decide to proceed with this course, pay attention to failed tests, they are fairly explicit on the error and this is what is technically guiding the development. Think of tests as abstractions 'visit', 'fill_in', you are almost describing the behavior in human language but when the test fails it shows you errors that you need to solve, eventually getting to the behavior described in the tests. I hope this makes sense.

Shreyash Agarwal
Shreyash Agarwal
9,843 Points

Hey Sergio,

I agree with you on this one. The learning curve suddenly shoots up and it is very easy to get lost and not understand much of what is going about. Here is my experience so far-

I had started the Rails course almost a month back and dived in head first for about a week. Much like you, I felt lost and not understanding what I was doing. So I decided to continue along with the Front End Development Course which I was finding a breeze, since I am studying IT in my college here. As I progressed through the front-end course, I was also looking up through and through for which web technology I should do my front end in. Content is king in web, so I was also interested in how do I pull information from a db.

This rails course has shown me how to do that in about only 20 lessons till now. It's pretty amazing though, how the architecture of MVC framework wasn't given enough importance to be a short video. It underlines whatever we are doing here.

As far as Rspeccing goes, try thinking about this too - You're not only learning how to make your app, but you're also learning how to make sure it's working! So you won't have to worry about people complaining about bugs once you've deployed them.

It's just a steep learning curve. I'm maintaining a copy this time, writing commands down in them as if i were in a class . Also try giving your own variable names in the programs and generic names in your copy(if you maintain one). Would love to help!

Pavel Razuvayev
Pavel Razuvayev
4,128 Points

Yeah this whole TDD is pretty annoying. I understand why we need tests but it feels like TDD course rather than learning Rails. Another course on building a Treebook was so much better and engaging, this course is like watching the paint dry. IMHO, it's much better to teach about technology and then jump into TDD and other techniques of development.

I am experiencing similar pain with this. Having to pause the video and rewind to catch what Jason is doing. I will continue to power through for now. I know I will end up taking this course again at a later date when I have more experience under my belt. The more I use Rails the more I'm sure I will start to understand it. Thanks for the suggestion SERGIO RODRIGUEZ, I will check out 'Learn Rails' book by Daniel Kehoe.

I started with lot of excitement to learn ruby ,but with this todo_list part ,i am not understanding anything will it get easier if i continue this part or tell me how should i proceed to learn ruby ... I am just a begineer!!!

Pavel Razuvayev
Pavel Razuvayev
4,128 Points

This tutorial is made for understanding TDD, it's not meant to teach Rails per se. Check out railstutorial.org for better explanation. You can then come back to this ODOT tutorial and learn TDD.

John Simoneau
PLUS
John Simoneau
Courses Plus Student 8,105 Points

I'm lost on it sure. A little disappointed that I'm not doing the fun part yet and I'm half way through it... sure. Frustrated that I'm not learning how to build Rails apps like "I" think I'm supposed too also. BUT, I don't know Rails so the way "I" think to learn is probably not the best way...LOL.

I've been coding websites untrained for a long time. I'm always the person asking questions at the forums. Right now I'm SLOWLY trying to transition from the one asking questions to the one answering them. The best way I know to do that is Googling anything I have questions on FIRST (even if I technically shouldn't have too), asking questions only when I NEED too, and re-watching videos until I have an understanding of what's going on.

I'm halfway through the course and a lot of this stuff hasn't made sense. I felt like a person just typing whatever Jason is. But I've started to notice the repetitiveness of some of the commands, coding etc so started going back and Googling little things or looking through all the current videos forum topics (since a lot of people have already asked the same things). I've also re-googled the Gems being used etc. So now some of these things are slowly making sense as to what he is at least doing and I am now learning. I'm going to continue on with the course "typing it" then go back through all the videos at the end just "watching" them. I find that typing/pausing really distracts the learning process (though necessary) so if I do two quick runs of these Treehouse courses... one with typing and one without... I get a lot more out of it. When watching them again I'll also be sure to Google any last things I didn't understand.

After this track I will re-visit this thread I came across where Jason's answer mentions the rest of the plans for the App and do those videos which may have more interesting parts. I'm not sure why they weren't included in the track but hopefully most of them are complete and waiting for me :)

https://teamtreehouse.com/forum/ror-courses-sequence-seems-to-be-incoherent

Aya Yousef
Aya Yousef
9,658 Points

well I feel lost too in building this app

it's very advanced for me

Jason Seifer can you please recommend to us what we need to fully understand this application.. as everyone else I started with Ruby development track and I know some Ruby basics. Or should we start with another app to follow up with this course.

Thank God I am not the only person who isn't very impressed with this course. I normally have nothing but praise for Treehouse courses but this one is the first that I am not happy with. I finally reached the halfway mark and decided to sit back and watch rather than try to keep up with the teacher. I seriously don't see how this track is intended to be instructional. It's more like, "hey, watch me make a Rails app!" I'm very happy with the rest of the Rails Development track but this course needs to be replaced with something that's actually designed for those of us who are learning all of this material for the first time.

Brandon Willmott
Brandon Willmott
2,837 Points

I'm not a newbie to rails or programming but this course is very frustrating to me as well. I wrote a small rails app in the Rails 2.0 days so I'm a little familiar with things. I haven't touched it since and Rails 4 has brought a ton of changes so taking a beginners path is proper for me. With that being said, learning new techniques in rails and the introduction of TDD is challenging. Emili CArbon is right: this should be a rspec course. Jason Seifer gets some errors that seem unexpected at times that make him have to hack things a bit to make the test pass. How about we just code the app and explain things as we go? Another problem I have is regarding the baby steps that we're taking to move through the application and manually creating all of these views, additional methods, and controllers. Granted, these are fundamental actions that you'll take when developing a rails application but the whole process is very disjoined and unstructured. I like Jason as an instructor but the course could use a refresh with more structure and instructions.

David Clausen
David Clausen
11,403 Points

Rails is based around a TDD, if you take a job doing rails you are expected to do unit testing and TDD as the main way to work. This may be frustrating but taking time to supplement your learning if you are lost or frustrated is normal in any educational environment.

One key thing grade school don't really emphasize until higher-education is when you are lost you should always seek supplemental material to catch up. Everyone learns at different paces and methods. No one teaching method will work.

I am also not new to programming but I am new to rails. I am having trouble following simply cause I am learning about the framework as I go. But stopping and looking at how rails is constructed and taking a second to see how things are connecting help a lot. But thats me, i probably have a stronger understanding of programming concepts and different languages that help fill the gap. Point is, what are you doing to fill that gap?

Treehouse is a video course based teaching. It will not be dense like books. If you pretend you can get by with just videos you will be lacking fundamentals and will be difficult to be more fluid with languages. Fundamentals and concepts can easily be learned from books and will help anyone fill in gaps in their understanding.