All pastes #2048725 Raw Edit

Unnamed

public text v1 · immutable
#2048725 ·published 2011-04-20 18:51 UTC
rendered paste body
class Cook < ActiveRecord::Base
  has_many :port_mappings
  has_many :cookers, :through => :port_mappings
  has_many :datapoints, :through => :port_mappings
end

class PortMapping < ActiveRecord::Base
	belongs_to :cook
	has_one :sensor
	has_one :cooker
	has_many :datapoints
end

class Datapoint < ActiveRecord::Base
  belongs_to :port_mapping
end

class Sensor < ActiveRecord::Base
  has_one :sensor_type
  has_many :port_mappings
  has_many :datapoints, :through => :port_mappings
  has_many :cooks, :through => :port_mappings
end

..but it errors: (there is no port_mapping_id in cooker because it has_many - port_mapping has a cookers_id instead..)

LINE 1: SELECT  "cookers".* FROM "cookers" WHERE ("cookers".port_map...
                                                  ^
: SELECT  "cookers".* FROM "cookers" WHERE ("cookers".port_mapping_id = 1) LIMIT 1

Extracted source (around line #38):

35: <% for datapoint in session.datapoints %>
36:   <tr>
37:     <td><%= datapoint.timestamp %></td>
38:     <td><%= datapoint.port_mapping.cooker.name %></td>
39:     <td><%= datapoint.port_mapping.sensor.name %></td>
40:     <td><%= datapoint.value %></td>
41:   </tr>