Really confusing issue involving ActiveRecord and a NoMethodError

Hey Everyone,

I have been working on a project where I process an XML file that contains data about a music playlist, and I use 3 models: Playlist, Artist, and Song. Each model is mapped to a table in my database, and when my app processes the XML file, it will populate the database accordingly.

The issue I have is that the Artist class and the Song class seem to be undefined, even though they absolutely are defined. I can interact with the Playlist class just fine, and create new entries in the database, but for some reason, when I try and create a new instance of the Artist class, or the Song class I get the following error:

undefined method `create' for UploadController::artist:Class

I decided to check this out using the Console, and I am able to create a new instance of the Artist class, and populate the database in the console, so the issue only resides in my web application.

Could I be missing some small piece of trivial information? I was under the impression that I could access all of the models from any controller I am using, but I can only access a single model at the moment.

Any help would be great, this issue is driving me crazy.

Thanks!

Hey Everyone,

I have been working on a project where I process an XML file that contains data about a music playlist, and I use 3 models: Playlist, Artist, and Song. Each model is mapped to a table in my database, and when my app processes the XML file, it will populate the database accordingly.

What is in your upload controller ?

The issue I have is that the Artist class and the Song class seem to be undefined, even though they absolutely are defined.

Actually it looks more like they have been defined a second time

Fred I can interact

What is in your upload controller ?

> The issue I have is that the Artist class and the Song class seem to > be undefined, even though they absolutely are defined.

Actually it looks more like they have been defined a second time

Fred I can interact

The following lines appear in my upload controller:

@playlistObject = Playlist.create(:name => n)

Artist.create(:name => @artistList[j])

Song.create(:name => song.name, :artist_id => artist.id, :minutes => song.minutes, :seconds => song.seconds)

The first line, where I create a new Playlist object works, but the other two do not. I can post the entire code listing in the upload controller if you think it would help.

-Casen

The first line, where I create a new Playlist object works, but the other two do not. I can post the entire code listing in the upload controller if you think it would help.

Yes.

Fred

I discovered the problem! When I was going to cut and paste the code, I noticed some classes I defined from within the controller (as a test) that I had later forgotten about completely because they were at the bottom of a lot of code. And as you have probably guessed the class names were Artist, and Song. I have been humbled!

Thanks again,

Casen