Search Function


I have two tables Stores and Categories

Relationship of these tables are: Many to Many
Store can have many categories
Category can also have many stores

Now in the stores table I have a store_name and category_id attributes
that links the category table to the store table via its Category_ID

The Category table only has category_id and category_description

I want to be able to perform a search on Categories index.html.erb page
to find stores which fall into that particular category.

Therefore I need the search function to look into the stores table and
match the category_id to the category_id in categories table, and return
the store names with those categories.

I have tried some example but they don’t seem to be working. Can someone
please help!!!

hi Brian,

thanx for repylin back, its v.much appriciated.

yes your absolutely right. i have used a has_and_belongs_to_many with a
join table being created called categoriesstores. this join
“categoriesstores” has the attributes category_id and store_id.

The join table should be called categories_stores

Having setup the relationships and the tables, then, for example, if you
have a store object from the database then you can use store.categories
get a collection of categories for that store.

2009/3/12 Inderpal B. [email protected]

hi colin,

does the join table have to be called categories_stores. when this table
was created i just called it categoriesstores (without the underscore_).
does that cause problems.

i have a button that when clicked it should look into stores table and
match the store with the category it relates to and then takes the user
to tht particular store page.

i have tried form_for and tag methods but have been useless so far.
i am quite new to ruby on rails and have been teaching myself for the
last 3 months. is it possible for you provide sum sort of code that
could help me.something which i can look at and implement into my

Many Thanks for replying Colin.

In general, a many-to-many relationship involves three tables. Can you
describe how you’ve done this relationship with Rails? Did you use a
has_and_belongs_to_many with a categories_stories table? Or did you
use a has_many :through association with a different through table?

On Wed, Mar 11, 2009 at 6:06 PM, Inderpal B.

Have you worked through the guides at

I can highly recommend the book Agile Development with Rails (


The railscasts at are excellent

A bit of googling will reveal numerous other guides and tutorials. Make
sure any you work through are for rails 2 as otherwise you will get
confused when the tutorials don’t work.

Good luck


2009/3/12 Inderpal B. [email protected]