title: Geokit in Ruby on Rails, problem with acts_as_mappable
body: <p>i have looked through the list of related questions however my problem does not seem to be listed and hence here it is:</p>
  
  <p>Basically I'm trying to use Geokit within the Ruby on Rails environment, im not sure if i installed it properly, I have included it within the environment.rb (and done rake db:install) and i'm now trying to do the following:</p>
  
  <pre><code>require 'active_record'
  require 'geokit'
  
  class Store &lt; ActiveRecord::Base
      acts_as_mappable
  end
  </code></pre>
  
  <p>Unforunately, when i try to run this and see if its ok, i get the following error:</p>
  
  <pre><code>c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:1959:in `method_missing': undefined local variable or method `acts_as_mappable' for #&lt;Class:0x4cd261c&gt; (NameError)
      from C:/Users/Erika/Documents/Visual Studio 2008/Projects/StoreLocator/StoreLocator/app/models/store.rb:5
  </code></pre>
  
  <p>I am running Ruby in Steel for Visual Studio 2008, i'm not sure what i'm doing wrong as all the online tutorials i find tend to be rather old and done apply to me. Any help would be greatly appreciated. thanks!</p>
  
  <p>Edit: (adding as per Ben's Request)
  The following is what my environment.rb looks like</p>
  
  <pre><code># Be sure to restart your server when you modify this file
  
  # Specifies gem version of Rails to use when vendor/rails is not present
  RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
  
  # Bootstrap the Rails environment, frameworks, and default configuration
  require File.join(File.dirname(__FILE__), 'boot')
  
  Rails::Initializer.run do |config|
    # Settings in config/environments/* take precedence over those specified here.
    # Application configuration should go into files in config/initializers
    # -- all .rb files in that directory are automatically loaded.
  
    # Add additional load paths for your own custom dirs
    # config.load_paths += %W( #{RAILS_ROOT}/extras )
  
    # Specify gems that this application depends on and have them installed with rake gems:install
    # config.gem "bj"
    # config.gem "hpricot", :version =&gt; '0.6', :source =&gt; "http://code.whytheluckystiff.net"
    # config.gem "sqlite3-ruby", :lib =&gt; "sqlite3"
    # config.gem "aws-s3", :lib =&gt; "aws/s3"
    config.gem "geokit"
    config.gem "ym4r"
  
    # Only load the plugins named here, in the order given (default is alphabetical).
    # :all can be used as a placeholder for all plugins not explicitly named
    # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
  
    # Skip frameworks you're not going to use. To use Rails without a database,
    # you must remove the Active Record framework.
    # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
  
    # Activate observers that should always be running
    # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
  
    # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
    # Run "rake -D time" for a list of tasks for finding time zone names.
    config.time_zone = 'UTC'
  
    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
    # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
    # config.i18n.default_locale = :de
  end
  
  # These defaults are used in GeoKit::Mappable.distance_to and in acts_as_mappable
  GeoKit::default_units = :kms
  GeoKit::default_formula = :sphere
  
  # This is the timeout value in seconds to be used for calls to the geocoder web
  # services.  For no timeout at all, comment out the setting.  The timeout unit
  # is in seconds. 
  #GeoKit::Geocoders::timeout = 3
  
  # These settings are used if web service calls must be routed through a proxy.
  # These setting can be nil if not needed, otherwise, addr and port must be 
  # filled in at a minimum.  If the proxy requires authentication, the username
  # and password can be provided as well.
  GeoKit::Geocoders::proxy_addr = nil
  GeoKit::Geocoders::proxy_port = nil
  GeoKit::Geocoders::proxy_user = nil
  GeoKit::Geocoders::proxy_pass = nil
  
  # This is your yahoo application key for the Yahoo Geocoder.
  GeoKit::Geocoders::yahoo = 'REPLACE_WITH_YOUR_YAHOO_KEY'
  
  # This is your Google Maps geocoder key. 
  GeoKit::Geocoders::google = 'apikey'
  
  # This is your username and password for geocoder.us.
  # To use the free service, the value can be set to nil or false.  For 
  # usage tied to an account, the value should be set to username:password.
  GeoKit::Geocoders::geocoder_us = false 
  
  # This is your authorization key for geocoder.ca.
  # To use the free service, the value can be set to nil or false.  For 
  # usage tied to an account, set the value to the key obtained from
  # Geocoder.ca.
  
  GeoKit::Geocoders::geocoder_ca = false
  
  # This is the order in which the geocoders are called in a failover scenario
  # If you only want to use a single geocoder, put a single symbol in the array.
  # Valid symbols are :google, :yahoo, :us, and :ca.
  # Be aware that there are Terms of Use restrictions on how you can use the 
  # various geocoders.  Make sure you read up on relevant Terms of Use for each
  # geocoder you are going to use.
  GeoKit::Geocoders::provider_order = [:google]
  </code></pre>