# Has and belongs to many

**URL:** <https://www.ruby-forum.com/t/has-and-belongs-to-many/134331>\
**Category:** Rails\
**Created:** [April 9, 2008, 9:46pm UTC](https://www.ruby-forum.com/t/has-and-belongs-to-many/134331 "2008-04-09T21:46:26Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![gattone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/898d66/32.png) [@gattone](https://www.ruby-forum.com/u/gattone)\
**Post date:** [April 9, 2008, 9:46pm UTC](https://www.ruby-forum.com/t/has-and-belongs-to-many/134331/1 "2008-04-09T21:46:26Z")

</div>

Hi everyone.

I’ve got the following in my model:

class Newsletter \< ActiveRecord::Base  
has\_and\_belongs\_to\_many :tags

def tag\_attributes=(tag\_attributes)  
tag\_attributes.each do |attributes|  
tags.build(attributes)  
end  
end  
end

class Tag \< ActiveRecord::Base  
has\_and\_belongs\_to\_many :newsletters  
end

And I also got a newsletters\_tags relationship table in my DB,  
containing newsletter\_id and tag\_id (both fields are set as  
primary\_key)

How do I perform a search to retrieve every tag within a particular  
newsletter, or all newsletters that relates to an specific tag?

---

<div class="post-metadata">

**Author:** ![gattone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/898d66/32.png) [@gattone](https://www.ruby-forum.com/u/gattone)\
**Post date:** [April 9, 2008, 10:52pm UTC](https://www.ruby-forum.com/t/has-and-belongs-to-many/134331/2 "2008-04-09T22:52:58Z")

</div>

Daniel D. wrote:

> How do I perform a search to retrieve every tag within a particular  
> newsletter,

my\_newsletter.tags

> or all newsletters that relates to an specific tag?

my\_tag.newsletters

---

<div class="post-metadata">

**Author:** ![gattone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/898d66/32.png) [@gattone](https://www.ruby-forum.com/u/gattone)\
**Post date:** [April 10, 2008, 6:55am UTC](https://www.ruby-forum.com/t/has-and-belongs-to-many/134331/3 "2008-04-10T06:55:22Z")

</div>

@tag.newsletters  
or  
@newsletter.tags

Julian.

Learn Ruby on Rails! Check out the FREE VIDS (for a limited time)  
VIDEO #3 out NOW!  
[http://sensei.zenunit.com/](http://sensei.zenunit.com/)
