Ruby on rails 从字符串创建seo友好的url
我正在尝试从字符串创建URL友好链接。我要的不是Ruby on rails 从字符串创建seo友好的url,ruby-on-rails,Ruby On Rails,我正在尝试从字符串创建URL友好链接。我要的不是example.com/Jessica Alba,而是example.com/Jessica Alba。我如何获得链接到标签链接到seo友好的永久链接 我还需要确保show方法只在地址栏中显示seo友好的永久链接,并且只接受seo友好的永久链接。您可以在模型中覆盖to_param方法 因此,如果您有一个名为名人的模型,它有一个名称列,您可以: class Celebrity < ActiveRecord::Base def to_par
example.com/Jessica Alba
,而是example.com/Jessica Alba
。我如何获得链接到标签链接到seo友好的永久链接
我还需要确保show方法只在地址栏中显示seo友好的永久链接,并且只接受seo友好的永久链接。您可以在模型中覆盖
to_param
方法
因此,如果您有一个名为名人
的模型,它有一个名称
列,您可以:
class Celebrity < ActiveRecord::Base
def to_param
self.name.downcase.gsub(' ', '-')
end
end
看看我在网站上创建的has_permalink gem
该gem将帮助您解决此问题。最好使用参数化方法:
name = name.parameterize
还有一个我碰巧喜欢的友好id。ILS提供了一种方法,可以
参数化
。所以我建议您使用它,并在您的模型上创建一个名为slug的新字段。然后在slug上添加验证,并使用方法构建它。例如:在验证之前:生成\u slug def到\u param slug end def生成\u slug self.slug=name.parameterize end
然后在您的控制器中执行:jessica\u alba=名人。通过\u slug(params[:slug])查找\u是的,这是一种方法。除非您想定制slug,类似于使用下划线而不是连字符。使用分隔符进行自定义,例如ID的Rails约定“Tim.Cook”。参数化(“”“)=>“Tim\u Cook”
name = name.parameterize