Rails 4将友好URL路由到查询URL

时间:2015-04-11 00:21:47

标签: ruby-on-rails ruby-on-rails-4 url-routing

我觉得这应该很容易但是我被卡住了。什么是映射路线并将其指向特定网址的最佳方式?

用户类型/点击http://acne.com/category-name,它将获得http://acne.com/?category[]=1

我不想重定向到?category [] = 1 。我想让SEO友好。

2 个答案:

答案 0 :(得分:2)

使用friendly_id gem。

这是一个如何运作的例子:

class Category < ActiveRecord::Base
  extend FriendlyId
  friendly_id :name
end

@category = Category.friendly.find "category-name"   
@category.to_param
redirect_to @category # the URL will be /category/category-name

答案 1 :(得分:1)

如果我正确理解了您的问题,您希望在用户输入acne.com/category-name时显示该类别。

在config / routes.rb中添加:

get&#39; /:category-name&#39;,to:&#39; category#show&#39;

这会将请求路由到categoryController的show方法,并在&#34; category-name&#34;中使用用户类型的类别名称。参数。您可以处理那里显示的内容(使用params [:category-name]查找用户输入的类别名称)

很抱歉我手机上没有代码标签。