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

Binary Soul
Binary Soul
4,592 Points

Wishlist for the next Rails Tutorial

Hello Treehouse, hello Mr. Seifer!

I like to take you by word and use the Forum to offer some wishes for the next month/years/whatever. I like to see a rails 4.x Course that makes clear what has changed between 4.x and 4.0 this Video shows me 30% Ruby 2.x.x (without the irb console, strict in practical enviroment) 10% Design&Frameworks, 10% important gems (Opal, Turbolinks, Spring, stuff like that) and 50% pure RoR. But the most important thing of all: No TDD!!

  • I want to learn WHY i can use a :Symbol instead of an @Instancevariable now.
  • I want to understand what " match ':controller(/:action(/:id))', :via => [:get, :post] " does inside my routes file, and
  • i want to learn what is the difference between text_field, text_field_for and text_field_tag.

What i don't want to see:

  • Testdriven developement = In big projects it could make sense, but for beginners it doesn't. For me personally it is a massive waste of time, typing 80% tests for code, that we type if the test is ready. And then the code takes 5% of the amount of time. Honestly, if you start typing your tests, I tab around and watch different things in that time. The biggest test for me is: "Did I find the moment for tapping back in which Jason writes the next line of code?" This is my personal opinion and everyone has different opinions. But I think its very hard to concentrate, if you want to learn rails-coding and syntax and your teacher is switching around after every 2 seconds to a spec file that has absolutley nothing to do with rails. I can't watch this, because whenever I have a question, im sure, you have no time to give me answers because you have to write a test.
  • Scaffolding = The next big thing. Scaffolding has nothing to do with professional developement and for me, it produces too much DRY code. If I come here, with HTML, CSS and basic knowledge of programming, and we start to dive into a scaffolded project, so I see Chinese language in a russian accent spoken from a brazilian. And then we start to puzzle around things inside the scaffolded code instead of writing our own. So let's start with a brand new Project, where every line of code is written by us!
  • devise, AuthLogic and Co. All those gems makes the rails programmers life easier. But we understand nothing of what they really do. And we don't have a clue, what to do without them. If we start a job for a big Company, and they have industrial Security policies, we CAN'T start coming up with a third party plugin where nobody really knows what it does. We have to write our own athentication from scratch, maybe they don't allow BCrypt and we have to salt our own hashes. I want to learn that, not just using a pre-made-tool.

All those small things, sometimes the big parts. I want you to make me into someone, that can go out in the Internet, watching the RailsConf 2017 on Youtube and UNDERSTAND what they are talking about. I want to read professional programmers books and know how to use the knowledge. And I doubt that they start with Scaffolding ;D

So far, thats my very personal wishlist for the future of the Ruby section. Jason, I hope you read that and everybody else, feel free to comment.

BS

1 Answer

Jason Seifer
STAFF
Jason Seifer
Treehouse Guest Teacher

Hi Binary Soul thanks a lot for your feedback! I'll definitely be taking this in to account as we refresh the Ruby and Rails tracks. We've heard similar feedback about TDD in reference to learning to code. It's still a very important skill, especially when working in the industry at a real job, so we'll still be teaching it. However, it will come later on in the track, after the basics are learned. It's tough to learn two really big concepts at once so that will be introduced more slowly in the future.

Regarding Devise and Authlogic, I might suggest checking out User Authentication with Rails if you haven't already. It does use BCrypt to salt passwords but it tells you why you should do that. Generally, I don't recommend coming up with a password hashing algorithm. They are very difficult to implement securely unless the author is also a cryptographer. The most secure way to hash passwords is to use an algorithm that was invented by a cryptographer, which is why we use BCrypt in the course.

I'll be taking your other feedback in to account as we progress through Ruby and Rails. Thanks again for your constructive criticism!

I have to say that i agree with Binary Soul. Please make TDD optional or a (user friendly...meaning TDD videos are marked or something) way how to skip it (we can come back to it later).