我为我们的文章实施了一个标记系统。
class Country < ActiveRecord::Base
has_many :articles
end
class Region < ActiveRecord::Base
has_many :articles
end
class Article < ActiveRecord::Base
belongs_to :region
belongs_to :country
def self.tagged_with(name)
Tag.find_by_name!(name).articles
end
end
文章控制者:
def index
if params[:tag]
@articles = Article.tagged_with(params[:tag])
else
@region = Region.find(params[:region_id])
@article_region = @region.articles
end
end
在我的索引页面上,我只显示与正确区域相关的文章params(region_id)
,所以这很好用。但是如何将地区和国家参数集成到“tagged_with”功能中?
例子
/en/italy/umbria/articles/wines
> 显示带有“葡萄酒”标签且与翁布里亚地区有关的文章
/en/italy/tuscany/articles/wines
> 显示带有“葡萄酒”标签且与托斯卡纳地区有关的文章
/en/italy/articles/wines > 显示带有“葡萄酒”标签且与意大利国家有关的文章