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 575899
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T13:59:22+00:00 2026-05-13T13:59:22+00:00

I am seeing a very strange issue with a simple controller method. Either I

  • 0

I am seeing a very strange issue with a simple controller method. Either I am missing something fundamental or I am encountering a bug. My bet is on the former.

I have a Thing model with a ThingController.

A Thing has two variables, name and display, both strings.

ThingController (code below) has a method toggle_display, that toggles the contents of display between "on" and "off".

The problem is that when I call this action, Rails finds the correct Thing, but @thing.display is nil. When I check the database, the value in the ‘display’ column is correct.

The strange part is that when I uncomment the third line in the code below (i.e. access @thing.name before accessing @thing.display) then @thing.display is fine – it isn’t nil and it has the value I would expect. It’s as if @thing.display only gets initialized correctly after I access @thing.name.

Any idea why I would see this very strange behavior?

def toggle_display
  @thing = Thing.find(params[:id])

  # @thing.name

  if @thing.display
    @thing.toggle_display_in_model
    @thing.save
  end

  redirect_to things_url
end
  • 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-13T13:59:22+00:00Added an answer on May 13, 2026 at 1:59 pm

    The problem is that there’s already a method named “display” in Kernel which conflicts with ActiveRecord’s magic.

    ActiveRecord defines the methods corresponding to the database fields in method_missing. So until method_missing is called, the methods don’t actually exist. When you call name on @thing, method_missing is called because there is no name method. However when you call display (without previously calling another method that does not exist), method_missing is not called because display is already defined in Kernel and this definition is executed. And since Kernel’s display method returns nil, you get nil.

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

Sidebar

Ask A Question

Stats

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

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

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

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

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer A better idea may be to use reset which "rewinds… May 13, 2026 at 5:37 pm
  • Editorial Team
    Editorial Team added an answer 2 Things: You can't have an <input> beside a <td>… May 13, 2026 at 5:37 pm
  • Editorial Team
    Editorial Team added an answer I don't think it is possible to delete without locking.… May 13, 2026 at 5:37 pm

Related Questions

Edit: This is a confirmed bug in jQuery 1.3.1. It is fixed in jQuery
I am seeing a very strange problem on one of my production boxes. We
I have a method that will return a list of suggested orders. If the
I am very very new to OpenGL, so please bear with me. :) I'm
got a strange issue for you. I created a control that inserts a record

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.