On Friday, 9 March 2012 at 7:30 AM, Ryan Bigg wrote:

> Hello friends, 
> 
> It's been fun having the scaffold generator exist as a part of Rails since 
> The Beginning Of Time, but I think its time is now up. It has been abused 
> time and time again, and most often leads to confusion amongst people who are 
> new to Rails.
> 
> This confusion happens when a user first generates a scaffold and sees that 
> it is good. They can perform CRUD actions on a resource using one command?! 
> WOW!
> 
> Then they try to modify the scaffold and run into problems. First of all: how 
> do they add an action to the controller? Do they need to run another command? 
> How do they then define a route for that action? A template?
> 
> If they were to *not* use the scaffold generator from the beginning, I 
> believe they would have less confusion. They would know how to add another 
> action to the controller and a template for that action because this would be 
> how they're doing it from the start. Learning how to define a route for a new 
> action in the controller is something easily learnable by reading the routing 
> guide.
> 
> I think that we can fix this problem in one of two ways, the latter more 
> extreme than the first one. 
> 
The problem here is that none of us are the target audience for the scaffold 
generator, so we're a terrible group to make decisions on its long-term 
utility.  It isn't, and never has been, intended as a way to create controllers 
which you just commit and ship, it's a tool for giving an example controller 
and set of views which let's a new user get a feel for how it all hangs 
together.  Without something like this you start with a two line controller 
file and have *no* idea how anything works.

Sure it's great if everyone reads all the documentation and learns all the 
details of how actions and views interact before they write a single line of 
code, but the reality is people don't do that.
> 
> The first way is that we completely change the Getting Started Guide to 
> simply *mention* the scaffold generator, but then show people the "correct" 
> way of generating a controller (rails g controller) and adding actions to it 
> one by one, adding a model as its needed, and using similar practices to how 
> you would do it in the "real world".
> 
> 

Changing the guides to use the scaffold generator only as an example seems like 
the best bet.  Simply generate a controller, walk the user through how it 
works, show how to add an action and test, then never return to the scaffolding 
at all.
 
> 
> The second way, and sorry if this sounds a little extreme, is to completely 
> remove the scaffold generator from the core of Rails itself. This means that 
> there wouldn't even be the option to run the scaffold generator for newbies. 
> You could then extract this out into a gem if you *really* wanted people to 
> have the option for it. However, if this path was taken it should be made 
> clear that this is not the "sanctioned" way to create controllers.
> 
This is a step too far in my book, there's valuable functionality here for 
newcomers and moving it to a plugin means it's no longer available to them but 
*is* available to the rest of us.  WTF would the point of that be ;)

 
> 
> Thoughts?
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Core" group.
> To post to this group, send email to [email protected] 
> (mailto:[email protected]).
> To unsubscribe from this group, send email to 
> [email protected] 
> (mailto:[email protected]).
> For more options, visit this group at 
> http://groups.google.com/group/rubyonrails-core?hl=en.


-- 
Cheers,

Koz

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.

Reply via email to