Forum: Ruby on Rails Really confusing issue involving ActiveRecord and a NoMethodError

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ed54bdf78ea3be1273403bb9dc15a4a6?d=identicon&s=25 cdubd (Guest)
on 2008-11-03 15:44
(Received via mailing list)
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!
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-11-03 15:51
(Received via mailing list)
On Nov 3, 2:37 pm, cdubd <cdub...@gmail.com> wrote:
> 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
Ed54bdf78ea3be1273403bb9dc15a4a6?d=identicon&s=25 cdubd (Guest)
on 2008-11-05 17:44
(Received via mailing list)
> 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
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-11-05 18:14
(Received via mailing list)
On 5 Nov 2008, at 16:43, cdubd wrote:
>
> 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
Ed54bdf78ea3be1273403bb9dc15a4a6?d=identicon&s=25 cdubd (Guest)
on 2008-11-06 12:08
(Received via mailing list)
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
This topic is locked and can not be replied to.