gpt4 book ai didi

ruby-on-rails - Rails - 在 url 中保留数据库 ID 的错误做法?

转载 作者:行者123 更新时间:2023-12-04 02:49:25 25 4
gpt4 key购买 nike

像这样将用户的数据库 id 保留在 url 中是否是一种不好的做法:

localhost:3000/users/16/edit

如果不好,我该如何隐藏 url 中的 id?在我的 View 、routes.rb 等中调用路径时需要注意什么?

如果这与讨论有关,则用户资源在我的 routes.rb 中如下所示:
resources :users, only: [:new, :edit, :create, :update]

最佳答案

只需覆盖 to_param在 ActiveRecord::Base 子类中

class User < ActiveRecord::Base
validates_uniqueness_of :name
def to_param #overriden
name
end
end

然后像这样查询
user = User.find_by_name('Phusion')
user_path(user) # => "/users/Phusion"

或者,您可以使用 gem friendly_id

关于ruby-on-rails - Rails - 在 url 中保留数据库 ID 的错误做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18096770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com