It looks to me that you are making things far more complicated that they need to be. You seem to be loading a pilot (2) at server start which is an unusual thing to do. I'd recommend that you start from scratch as you seem to be jumping in without really understanding what is going on. Try working through one of the many Rails books: for example the [Sitepoint book or [URL="http://pragprog.com/titles/rails2/agile-web-development-with-rails"]Agile web development with Rails](http://www.sitepoint.com/books/rails2/?SID=ca74cf07ccd34f2fd4fbfbed83a3982a)
For example your Pilot model can be simplified to this:
class Pilot < ActiveRecord::Base
validates_presence_of :last_name, :first_name, :middle_name, :birth_date
has_many :flights, :dependent => :destroy
[first_name, middle_name, last_name].compact.join(" ")
An inspect method already exists for a model, and is useful for most things. If you want a specially formatted output, it would be better to use a custom method rather than overload 'inspect'. Especially as inspect is used in unit test failure output, and therefore you could easily lose useful information if you overloaded the inspect.
Also to_s has a fairly simple function in classes where it is used. Making your own version of it that are rather complex, probably isn't a good idea. Again, you'd be better using a custom method name that describes what the method does. For example, pilot_summary.