Model attributes calling helper function?!

I have a totally wacked problem going on.

I have a model attribute with the same name (“content”) as a helper
function, and when I call “model.content”, it’s calling the “content”
helper function instead of the model’s attribute.

This, of course, causes severe problems.

In our master branch, this is only reproducible on our production
(Rails 2.1.1) machine, which sucks as far as trying to track it down.
I’m working on my dev machine in a Rails 2.3.x branch, in which I can
reproduce the problem with a test. Unfortunately, our code is large
and complex, so I can’t easily tell if it’s something we’re doing, or
an issue with Rails, or what.

Here’s the test result:
test_get_new(MessagingControllerTest):
NoMethodError: undefined method content_tag' for "#<Letter: 0x5dc2ddc>":Letter app/helpers/our_ui_helper.rb:734:inour_content_tag’
app/helpers/our_ui_helper.rb:74:in content' test/functional/messaging_controller_test.rb:122:intest_get_new’

The failing line of the test is
assert @reply.content.include?(@original.content), expectation

where @reply is a Letter object, which contains a “content” attribute.
our_ui_helper.rb has a “content” method that’s used by templates.

Why in the world would “model.content” ever call a helper method?

Thanks,
Lee

On Sep 4, 4:17 pm, Lee F. [email protected] wrote:

I have a totally wacked problem going on.

I have a model attribute with the same name (“content”) as a helper
function, and when I call “model.content”, it’s calling the “content”
helper function instead of the model’s attribute.

is something including your helper module into the model ? (you could
stick some logging in that module’s self.included) Does it only happen
with your helper method or also the names of other helpers ?

Fred

There was another model that was including ApplicationHelper for some
godforsaken reason. Taking that out fixed the problem.

I’m still unclear why and how this was happening.

Lee

On Sep 4, 11:32 am, Frederick C. [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs