嘿傢伙我試圖從字符串創建一個URL友好的鏈接。 而不是example.com/Jessica Alba
,我想example.com/jessica-alba
從字符串創建SEO友好的URL
我如何獲得link_to標記鏈接我到SEO友好永久鏈接?
我還需要確保show方法只在地址欄中顯示seo友好永久鏈接,並且只接受seo友好永久鏈接。
嘿傢伙我試圖從字符串創建一個URL友好的鏈接。 而不是example.com/Jessica Alba
,我想example.com/jessica-alba
從字符串創建SEO友好的URL
我如何獲得link_to標記鏈接我到SEO友好永久鏈接?
我還需要確保show方法只在地址欄中顯示seo友好永久鏈接,並且只接受seo友好永久鏈接。
您可以覆蓋模型中的to_param
方法。
所以,如果你有一個名爲Celebrity
模型,其中有一個name
列,你可以去:
class Celebrity < ActiveRecord::Base
def to_param
self.name.downcase.gsub(' ', '-')
end
end
然後:
jessica_alba = Celebrity.find_by_name("Jessica Alba")
link_to "Jessica Alba", celebrity_path(jessica_alba)
Rails提供了這樣做,這是'parameterize'的方法。 因此,我建議您使用它並在模型上創建一個名爲** slug **的新字段。然後在slug和方法上添加一個驗證來構建它。例如: 'before_validation:generate_slug DEF to_param 蛞蝓 端 DEF generate_slug self.slug = name.parameterize end' 然後在YOUT控制器這樣做: 'jessica_alba = Celebrity.find_by_slug(PARAMS [:slug])' – Asteriskk