Perhaps this is just
  http://www.ruby-forum.com/topic/1505406
coming back to bite me -- I suspect I'm missing a trivial declaration.

==== Error message (note that NOAA is an STI subclass of WeatherStation)

ActiveRecord::AssociationTypeMismatch (WeatherStation(#2169635200)
expected, got NOAA(#2185634180)):

==== Source of the error (station is, in fact, an NOAA object)

PremiseWeatherStation.create(:premise => self, :weather_station =>
station)

==== Models

class Premise < ActiveRecord::Base
  has_many :premise_weather_stations, :dependent => :destroy
  has_many :weather_stations, :through => :premise_weather_stations
  ...
end

class PremiseWeatherStation < ActiveRecord::Base
  belongs_to :premise
  belongs_to :weather_station
end

# WeatherStation is the 'parent' of STI models
class WeatherStation < ActiveRecord::Base
  has_many :premise_weather_stations, :dependent => :destroy
  has_many :premises, :through => :premise_weather_stations
  ...
end

# NOAA is an STI subclass of WeatherStation
class NOAA < WeatherStation
  ...
end

==== Tables:

  create_table "premise_weather_stations", :force => true do |t|
    t.integer  "premise_id"
    t.integer  "weather_station_id"
    ...
  end

  create_table "premises", :force => true do |t|
    ...
  end

  create_table "weather_stations", :force => true do |t|
    t.string   "callsign"
    t.string   "type"    # for STI support
    ...
  end

====

I don't think I'm doing anything "un-RAILs-ish".  Any idea what I'm
missing?

- ff

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to