Friendly_id 仍在 url 中显示用户 ID

Friendly_id still showing user id in the url

我正在尝试使用 Friendly_id gem,它适用于用户编辑,但不适用于用户显示页面。在用户显示页面上,它仍然使用用户 id 而不是 user_name,这是 slug。我不确定我的错误是什么谢谢你的帮助。

路线

class User < ApplicationRecord
  extend FriendlyId
  friendly_id :user_name, use: :slugged
end

user_controller

def edit
  @user = User.friendly.find(params[:id])
end

def show
  @user = User.friendly.find(params[:id])
end

路线

Rails.application.routes.draw do
  resources :users
end

按照friendly_id的官方文档,我猜你错过了这一行:extend FriendlyId

class User < ApplicationRecord
  extend FriendlyId 
  friendly_id :user_name, use: :slugged
end

对我来说,我通过删除 use: :slugged

来解决它
class User < ApplicationRecord
  extend FriendlyId
  friendly_id :user_name
end