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

  • SEARCH
  • Home
  • 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 6649195
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T00:44:42+00:00 2026-05-26T00:44:42+00:00

I have two classes, Foo and Bar. Foo has_many Bars. Bar is actually the

  • 0

I have two classes, Foo and Bar. Foo has_many Bars. Bar is actually the superclass of several classes that are sharing a STI table.

I want to make a dump of my Foo records including their associated Bars. To do this I call

Foo.all.to_json(:incude => :bars)

The initial problem is that I want to be able to distinguish between the different kinds of Bar classes. Rails makes this distinction via the type column in the Bar table, but that column isn’t included in the json serialization of the Ber records.

So, I overrode to_json in the Bar class to include the type attribute. when I call to_json on an instance of Bar, I get the new results, but when I call to_json on Foo and include its Bars, I get the old to_json (i.e. without the type attribute included).

I’ve since given up on this and am going with a different approach, but I’m still curious about what’s going on here. Maybe I should be using as_json instead of to_json? I still don’t understand the different between those two methods.

  • 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. Editorial Team
    Editorial Team
    2026-05-26T00:44:43+00:00Added an answer on May 26, 2026 at 12:44 am

    I can’t replicate this. It behaves properly in my test class.

    Let’s call class #1 Foo and Foo is included as an argument to Bar. In the Bar.to_json(foo), add this:

    foo.class.ancestors.each do |c|
      has_json = c.instance_methods.include?(:to_json)
      p "#{c} has to_json: #{has_json}"
      if has_json
        p "Owner: #{c.instance_method(:to_json).owner}"
      end
    end
    

    It might shed some light on the call hierarchy and also whether your instance variable is getting to_json from the right class.

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

Sidebar

Related Questions

I have two classes, Foo and Bar, that have constructors like this: class Foo
Given two model classes, Foo and Bar , I want Foo to have 3
Let's say I have two classes Foo and Bar, and I want to make
I have two classes, Foo<T> and Bar<T> , derived from Base . Each overrides
Suppose that I have two data types Foo and Bar. Foo has fields x
I have two classes Foo and Bar mapped to two different tables, and I'd
I have two classes, Foo and Bar. Each Foo has a name and a
I have two classes say Foo and Bar mapped as @OneToOne (bidirectional) using Hibernate
Say I have two independent classes: class Foo { int bar; } class Baz
I have two classes, Foo and Bar, in a Django app (on AppEngine if

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.