# Problem with Activerecord and relation has\_many belongs\_to

**URL:** <https://www.ruby-forum.com/t/problem-with-activerecord-and-relation-has-many-belongs-to/124145>\
**Category:** Rails\
**Created:** [December 25, 2007, 12:13pm UTC](https://www.ruby-forum.com/t/problem-with-activerecord-and-relation-has-many-belongs-to/124145 "2007-12-25T12:13:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Javier\_Q](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/34f0e0/32.png) [@Javier\_Q](https://www.ruby-forum.com/u/Javier_Q)\
**Post date:** [December 25, 2007, 12:13pm UTC](https://www.ruby-forum.com/t/problem-with-activerecord-and-relation-has-many-belongs-to/124145/1 "2007-12-25T12:13:14Z")

</div>

Hi. I’m experiencing a little problem with ActiveRecord and relations.  
The idea is that I have a lfsearch model:

class Lfsearch \< ActiveRecord::Base  
has\_many :lfresults  
end

and a lfresult model:

class Lfresult \< ActiveRecord::Base  
belongs\_to :lfsearch  
end

One search has many results.  
The tables are:  
CREATE TABLE `wozzhotdb`.`lfresults` (  
`ID` int(11) NOT NULL auto\_increment,  
`lfserach_id` int(11) default NULL,  
`name` varchar(1024) default NULL,  
`url` varchar(1024) default NULL,  
`imageurl` varchar(1024) default NULL,  
PRIMARY KEY (`ID`)  
) ENGINE=MyISAM AUTO\_INCREMENT=6 DEFAULT CHARSET=utf8

and

CREATE TABLE `wozzhotdb`.`lfsearches` (  
`id` int(11) NOT NULL auto\_increment,  
`query` varchar(1048) default NULL,  
`timestamp` timestamp NOT NULL default CURRENT\_TIMESTAMP on update  
CURRENT\_TIMESTAMP,  
PRIMARY KEY (`id`)  
) ENGINE=MyISAM AUTO\_INCREMENT=7 DEFAULT CHARSET=latin1

I try to run this code:

@lastfmdb = Lfsearch.new (:query =\> “Hello”)  
@lastfmresult = Lfresult.new (:name =\> “senc”, :url  
=\>“[www.yo.com](http://www.yo.com)”, :imageurl =\> “Hola”)  
@lastfmresult.save  
@lastfmdb.save  
@lastfmdb.add\_lfresult (@lastfmresult)

But I get this error:

NoMethodError in GestorController#parse

undefined method `add\_lfresult’ for #\<Lfsearch id: 6, query: “Indie”,  
timestamp: nil\>

Thanks for your help, Any ideas? 😉

---

<div class="post-metadata">

**Author:** ![Javier\_Q](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/34f0e0/32.png) [@Javier\_Q](https://www.ruby-forum.com/u/Javier_Q)\
**Post date:** [December 25, 2007, 12:29pm UTC](https://www.ruby-forum.com/t/problem-with-activerecord-and-relation-has-many-belongs-to/124145/2 "2007-12-25T12:29:37Z")

</div>

On Dec 25, 2007, at 12:12 PM, Javier Q. wrote:

> One search has many results.  
> The tables are:  
> CREATE TABLE `wozzhotdb`.`lfresults` (  
> `ID` int(11) NOT NULL auto\_increment,  
> `lfserach_id` int(11) default NULL,

Does that column name have a typo?

> NoMethodError in GestorController#parse
> 
> undefined method `add\_lfresult’ for #\<Lfsearch id: 6, query: “Indie”,  
> timestamp: nil\>

Active Record provides an API to manage collections from their parent,  
please read the documentation in

```
http://api.rubyonrails.com/classes/ActiveRecord/Base.html
http://api.rubyonrails.com/classes/ActiveRecord/Associations/ClassMethods.html

```

In that case you typically write something like

@lastfmdb.results.build(:name =\> “senc”, :url  
=\>“[www.yo.com](http://www.yo.com)”, :imageurl =\> “Hola”)  
@lastfmdb.save # saves associated results if successful

– fxn

---

<div class="post-metadata">

**Author:** ![Javier\_Q](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/34f0e0/32.png) [@Javier\_Q](https://www.ruby-forum.com/u/Javier_Q)\
**Post date:** [December 25, 2007, 12:36pm UTC](https://www.ruby-forum.com/t/problem-with-activerecord-and-relation-has-many-belongs-to/124145/3 "2007-12-25T12:36:38Z")

</div>

Thank you! It sure works fine! I don’t know why but I tought that it  
was supposed to be that way.
