FriendlyId 开源项目教程

FriendlyId 开源项目教程

friendly_idFriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models.项目地址:https://gitcode.com/gh_mirrors/fr/friendly_id

项目介绍

FriendlyId 是一个 Ruby gem,用于为 ActiveRecord 模型生成友好的、人类可读的 URL。它允许你使用模型的属性(如名称或标题)作为其 URL 的一部分,而不是使用默认的数字 ID。这不仅使 URL 更加用户友好,而且有助于 SEO。

项目快速启动

安装

首先,将 FriendlyId 添加到你的 Gemfile 中:

gem 'friendly_id', '~> 5.4.0'

然后运行 bundle install

配置

假设你有一个 Post 模型,你可以这样配置 FriendlyId:

class Post < ApplicationRecord
  extend FriendlyId
  friendly_id :title, use: :slugged
end

db/migrate 目录下创建一个迁移文件,添加 slug 字段:

class AddSlugToPosts < ActiveRecord::Migration[6.0]
  def change
    add_column :posts, :slug, :string
    add_index :posts, :slug, unique: true
  end
end

运行 rails db:migrate

使用

在你的控制器中,使用 friendly 方法来查找记录:

class PostsController < ApplicationController
  def show
    @post = Post.friendly.find(params[:id])
  end
end

应用案例和最佳实践

应用案例

FriendlyId 广泛应用于需要用户友好 URL 的场景,例如博客、新闻网站、电子商务平台等。通过使用 FriendlyId,可以显著提升用户体验和网站的 SEO 效果。

最佳实践

  1. 唯一性:确保每个 slug 是唯一的,以避免 URL 冲突。
  2. 国际化:如果你的应用支持多语言,考虑使用多语言友好的 slug 生成策略。
  3. 性能优化:定期清理不再使用的 slug,以保持数据库的整洁和查询效率。

典型生态项目

FriendlyId 通常与其他 Ruby on Rails 生态项目一起使用,例如:

  • Devise:用于用户认证,结合 FriendlyId 可以生成用户友好的个人资料页面 URL。
  • ActiveAdmin:用于管理后台,结合 FriendlyId 可以生成友好的管理页面 URL。
  • Rails SEO Helper:用于 SEO 优化,结合 FriendlyId 可以进一步提升网站的 SEO 效果。

通过结合这些生态项目,可以构建出更加强大和用户友好的 Ruby on Rails 应用。

friendly_idFriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models.项目地址:https://gitcode.com/gh_mirrors/fr/friendly_id

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌昱有Melanie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值