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.
