I have a model, Tasks, that can be tagged with the acts as taggable on gem.
The route: get 'mainpage/:tag', to: 'mainpage#index', as: :tag
Right now, when you click on a tag, it brings you to all tasks with that tag.
What I'd like to do is make it so that once you're on a tag page, clicking an additional tag further filters the results with the clicked tag name.
Ex.
On page for tag bills (mainpage/bills) displays:
Cable (tagged with: tv, credit card. bills)
Chairs (tagged with: credit card, bills)
table (tagged with: furniture, bills, salad)
When I click on the 'credit card' tag while on the bills tag page, I'd like to have it display only those tasks which are both a bills tag AND and credit card tag.
I'm flying a bit blind as how to do this.
Thanks for any help or suggestions
From http://guides.rubyonrails.org/routing.html section 3.11:
Adding this route allows you to have URLs like
/mainpage/bills
and/mainpage/bills/tv/furniture
.The first URL would come into your
mainpage#index
method withparams[:tags] == 'bills'
, while the second one would come in withparams[:tags] == 'bills/tv/furniture'
. You could then simply splitparams[:tags]
on/
.Note, for seo purposes, you probably want to come up with some nomenclature for the URLs, i.e. the tags are always alphabetical in the URL or something like that.