在rails中更改用于SEO目的的URL

时间:2014-02-19 12:13:13

标签: ruby-on-rails routing permalinks

我的网站目前有这样的网址

http://localhost:3000/public/category/1?category_id=1

SEO人员要求将其更改为

http://localhost:3000/(:category_name)-leasing

其中(:category_name)是category_id=1引用的类别的名称,并附加" -leasing"

是否可以在我的类别模型中为永久链接创建新列时进行设置。

目前我的routes.rb文件中也有这个:

get ':permalink', :to => 'public#show'

显示上述类别中的项目

http://localhost:3000/item-name-from-permalink

这是否会阻止使用相同网址结构的类别?将rails能够区分:permalink(:category_name)-leasing网址,或者网址是否需要类似:

http://localhost:3000/category/(:category_name)-leasing

提前致谢

1 个答案:

答案 0 :(得分:1)

class Category < ActiveRecord::Base

  def to_param
    "#{self.id}-#{self.title.parameterize}"
  end

end

会生成类似http://localhost:3000/categories/1-some-good-title

的网址