Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 76123
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T20:37:26+00:00 2026-05-10T20:37:26+00:00

I have the following 3 rails classes, which are all stored in one table,

  • 0

I have the following 3 rails classes, which are all stored in one table, using rails’ Single table inheritance.

class Template < ActiveRecord::Base class ThingTemplate < Template class StockThingTemplate < ThingTemplate 

If I have a StockThingTemplate with ID of 150 then I should logically be able to do this:

ThingTemplate.find(150) => #returns me the StockThingTemplate 

And in fact this works, sometimes

When it works, it generates the following SQL query:

SELECT * FROM templates WHERE (templates.`id` = 159) AND ( (templates.`type` = 'ThingTemplate') OR (templates.`type` = 'StockThingTemplate' ) ) 

When it doesn’t work, it generates the following SQL query:

SELECT * FROM templates WHERE (templates.`id` = 159) AND ( (templates.`type` = 'ThingTemplate') ) 

The sql is doing what it is supposed to, but the question is, WHY is it generating one set of SQL one time, and a different set another time. It’s literally the exact same code.

Notes:

  • I’m on rails 1.2
  • I’ve already tried require 'stock_thing_template' in various places. It either has no effect, or causes other problems
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T20:37:27+00:00Added an answer on May 10, 2026 at 8:37 pm

    OK. Turns out this is because rails doesn’t see the entire inheritance hierarchy all the time. As it reloads all the items on every request, this explains the inconsistent behaviour (in some places a before_filter was probably causing the models to load, in other places maybe not).

    It can be fixed by putting

    require_dependency 'stock_thing_template' 

    at the top of all my controllers that reference those things.

    More info on the rails wiki – go to the bottom of the page

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 74k
  • Answers 74k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Strange. I would start troubleshooting by making 100% sure that… May 11, 2026 at 2:18 pm
  • added an answer <%= link_to 'More', review_path(@review) %> May 11, 2026 at 2:18 pm
  • added an answer There is text2re, a free web-based 'regex by example' generator.… May 11, 2026 at 2:18 pm

Related Questions

Sorry, if this is a noobish question, but I'm just getting started with Rails
I have a Ruby script in my Rails app that I use to load
I have a rails application that patches ActiveRecord with a hand-coded validator. The patch
I have the following Rails link generating code (I have removed potentially 'industry secret'

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.