Editor: E Text Editor
TextMate seems to be the editor of choice for Rails on Mac. E Text
Editor is essentially TextMate for Windows. Its bundles are broadly
compatible with TextMate's including the Rails 2 bundle which is
included with the basic install.
running Ubuntu Server
Deploying a Rails app can be a pain at the best of times; deploying
a Rails app from a Windows environment onto a *nix server is even
worse. Plus, running Rails apps on Windows is slow. Running
your tests is slow. So I use VirtualBox to host a VM on my Windows
machine that mirrors my target deployment environment as closely as
possible. In my case I run Ubuntu Server because there are a really
nice set of step-by-step tutorials for getting up-and-running with
a full Ubuntu-based Rails stack on the SliceHost wiki.
- I map a network drive to the VM so that I can edit the code on
it directly from Windows using E Text Editor. The VM acts and feels
just like a command line window. So you don't feel like you're in a
completely alien environment.
- It runs Rails and other ruby scripts
(like tests) faster than running it natively in Windows
- Everything is contained and snapshottable, so I can experiment and
generally play around without worrying about breaking anything. If
something does break, I just roll back to a previous good
- It uses hardly any RAM. It will typically use less that 100MB
(it's currently using ~43MB, but I don't have a Rails app spun-up).
Contrast this with, say, Firefox which will typically be hogging
>200MB and you realize that running a Linux-based VM like this
is amazingly efficient.
- I can move my environment between machines
- I have much more robust deployment workflow
- I can limit the VM to have exactly the same amount of RAM as
the server I'll be hosting on. E.g., if I'm to be using a SliceHost
256MB slice, I would limit the RAM to 256MB.
- I can build a seperate environment for different hosts. If I
wanted to host on Joyent, for example, I could build an Open
- Gems and other binaries won't need recompiling for your target
- It's "a good thing"? to get to grips with the environment your
Rails app is likely to be running on. Seeing as most, if not all,
commercial Rails hosts run some sort of *nix derivative, you're
going to want to be comfortable with the *nix environment.