undefined method `table_name' for REXML::Comment:Class

Hi,

I just got into polymorphic relations. It works very nice, but I ran into a strange problem that can be reproduced easily. I don't have another workaround than to uncomment an include, but thats lame. Here it is:

# My models

# a generic comment class (it has a name and message) class Comment < ActiveRecord::Base   belongs_to :commentable, :polymorphic => true end

# another model that has comments class Batch < ActiveRecord::Base   has_many :comments, :as => :commentable end

Now start a rails console and be amazed by the following:

C:\rails\atlas>ruby script\console Loading development environment (Rails 2.0.1)

include REXML

=> Object

Batch.find(:first).comments

NoMethodError: undefined method `table_name' for REXML::Comment:Class (more error lines follow here)

It looks like REXML gets in the way of my real comments here. What can I do to prevent this?

regards, Johan van der Kuijl

Hi,

I just got into polymorphic relations. It works very nice, but I ran into a strange problem that can be reproduced easily. I don't have another workaround than to uncomment an include, but thats lame.
Here it is:

# My models

# a generic comment class (it has a name and message) class Comment < ActiveRecord::Base belongs_to :commentable, :polymorphic => true end

# another model that has comments class Batch < ActiveRecord::Base has_many :comments, :as => :commentable end

Now start a rails console and be amazed by the following:

C:\rails\atlas>ruby script\console Loading development environment (Rails 2.0.1)

include REXML

=> Object

Batch.find(:first).comments

NoMethodError: undefined method `table_name' for REXML::Comment:Class (more error lines follow here)

It looks like REXML gets in the way of my real comments here. What
can I do to prevent this?

Don't include REXML? What you've done there is make all of REXML's
constants available at the top level, including Comment. You could try
requiring your comment model first.

Fred

Frederick Cheung wrote: