修改friendly_id gem

时间:2013-04-04 12:03:57

标签: ruby-on-rails friendly-id ancestry

我希望能够在浏览栏中看到某些产品的完整路径。路径看起来像这样

www.mysite.com/categories/category_name/subcategory_name/product_name

此刻我有 www.mysite.com/categories/category_name 它只提供了一个我不需要的级别路径。

为了构建这些友好链接,我使用了friendly_id。我使用名为Ancestry的gem创建了完整的分类功能。

如何修改friendly_id slug以便显示完整路径?我知道friendly_id是如何工作的,但我不知道如何改变slug的生成方式。

有些人可以给我链接或提示搜索。我可以解决它,我只是需要想法。 我会非常非常:) :)

2 个答案:

答案 0 :(得分:1)

您可能正在寻找嵌套资源。 如果两个模型(类别,子类别)都有slug,那么将它们嵌套在routes.rb文件中应该可以解决问题:

resources :categories do
  resources :subcategories
end

答案 1 :(得分:1)

您可以传递一个方法供宝石使用,如:

extend FriendlyId
friendly_id :method_name, use: :slugged

def method_name

end