I think one of your key design decisions up front is who defines the tags/keywords?
If it is left up to the users to enter tags, then you might look into the has_many_polymorphs gem and the tagging facilities available there. This case makes it a tad more difficult to deal with searches, because your users can enter tags willy-nilly, and you have to come up with some method of classifying them, ideally dealing with synonyms and misspellings. User-defined tags opens you up to some, er, inappropriate tags as well if your application is ever found out by the spam-spiders that crawl the web (a blacklist of tags to ignore would be your friend in this case I think). If you are defining the keywords, it becomes much more manageable, and you can classify the tags you support according to types... salary ranges, experience levels, locations, whatever. I usually include something like a code table in my apps, where I can setup a codetype (string), codevalue (int), and codetext (string) where I could enter things like below that can be used in droplists for selection of attributes. type, value, text: "salary", 1, "30-40k" "salary", 2, "40-50k" blah blah blah "experience", 1, "1-3 years" "experience", 2, "4-6 years" etc, etc -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-t...@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.