MVC is short for Model - View - Controller and is a scheme for designing user interfaces. Under MVC you partition your code into these three divisions. This is supposed to be a good thing, and perhaps it is, but I have not seen convincing arguments. I have seen a lot of very good user interfaces designed without strict adherence to MVC. However, Rails is very aggressive about forcing it on you, so you have essentially no choice about doing things this way.
What I did was to write the following short shell script and put it into my own ~/bin directory as "trails":
#!/bin/sh # Rails script 11-6-2012 tjt # start up a flock of windows to make editing rails more sane. # (this is using the xfce4-terminal under Fedora 17). RAILS_ROOT="/u1/rails/tutorial/sample_app" TERM="terminal --maximize" $TERM --title=rails --working-directory=$RAILS_ROOT $TERM --title=app --working-directory=$RAILS_ROOT/app $TERM --title=views --working-directory=$RAILS_ROOT/app/views $TERM --title=models --working-directory=$RAILS_ROOT/app/models $TERM --title=controllers --working-directory=$RAILS_ROOT/app/controllers $TERM --title=spec --working-directory=$RAILS_ROOT/spec # THE ENDThis gives me 6 windows, all sized full-screen, with titles set appropriately. I am using xfce4-terminal (which under Fedora 17 is "/bin/terminal"). Under xfce, this effectively gives me 6 "buttons" across the top of the screen that I can click on to switch between terminals. The one labelled "rails" I use to either run tests, run "rails server", do git stuff, run the rails console, install new gems and that sort of thing. The one labelled "app" has proven useful for things that don't fit into the next four. The rest should be self explanatory. If you use helpers, partials, or things like that you do have to hop around a bit within views or controllers, but this is a huge improvement over using a single directory and typing "cd" till you are going insane.
If you are using Gnome 3 (or, heaven forbid, Windows), you will need more help than I can give you.
Ruby on Rails notes / [email protected]