Check the lines in the log above SELECT * FROM "readings" WHERE
("readings"."id" = '10') LIMIT 1Rails tends to break up long SQL statements into smaller ones. More information about your code snippet is required to make any guesses. Have a look at http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html On May 11, 10:54 am, Patrick <[email protected]> wrote: > All, > > I am relative new to Rails and struggle with following STI issue: > > A parent class "Reading" has many subclasses "ElectricityReading", > "GasReading", ... > > I wrote a method in the Reading class to update calculated columns in > each record, the logic goes like this: > > 1. Find first record > > first = find(:first, :conditions => ["unit_id = ?", unit_id], :order > => "date asc" ) > # get values of some columns and store in local variables > > 2. Find all records, perform the calculations and store in calculated > fields > > find(:all, :conditions => ["unit_id = ?", unit_id], :order => "date > asc" ).each do |r| > # get column values of r, calculate and save > > 3. Controller calls the method after each create or entry > ElectricityReading.calculate(unit_id) > > The problem: > > Instead of > > SELECT * FROM "readings" WHERE (unit_id = 1) AND ( ("readings"."type" > = 'ElectricityReading' ) Limit 1 > SELECT * FROM "readings" WHERE (unit_id = 1) AND ( ("readings"."type" > = 'ElectricityReading' ) > > I get > > SELECT * FROM "readings" WHERE ("readings"."id" = '10') LIMIT 1 > SELECT * FROM "readings" WHERE ("readings"."id" = '10') > > So the calculations are performed on all Reading objects rather than > only the ElectricityReading object. > > The funny thing is that it seems to work as expected in the console, > but fails as above using the built in server. > > Is this a bug in STI? Would it be solved by using a different type of > inheritance? --~--~---------~--~----~------------~-------~--~----~ 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

