gpt4 book ai didi

ruby-on-rails - 更改生成的唯一的标题名称的friendly-id

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

我正在使用friendly_id gem。在Portfolio.rb中,我放置了以下两行:

  extend FriendlyId
friendly_id :title, use: :slugged

如您所见,我也在使用slug选项。当我创建一个标题为“example”的项目时,它可以找到并且可以在 mysite.com/projects/example下找到该项目。现在,如果我创建第二个具有相同标题的标题,我将获得一个标题,如下所示: mysite.com/projects/example-74b6c506-5c61-41a3-8b77-a261e3fab5d3。我不太喜欢这个标题。我希望有一个更友好的标题,例如 example-2

在此 question上,RSB(用户)告诉我它的friendly_id引起了这种情况。我想知道是否有一种方法可以创建一个更加友好的环境。起初,我想到了“手动”检查是否存在相同的标题(在while循环中),并使用example-2或example-3或... example-N来分配另一个标题。

但是,我需要做类似的事情还是我错过了什么吗?有没有更简单的方法可以执行类似的操作?

最佳答案

检查documentation以获取最新版本的friendly_id:

A new "candidates" functionality which makes it easy to set up a list of alternate slugs that can be used to uniquely distinguish records, rather than appending a sequence.



直接来自文档的示例:
class Restaurant < ActiveRecord::Base
extend FriendlyId
friendly_id :slug_candidates, use: :slugged

# Try building a slug based on the following fields in
# increasing order of specificity.
def slug_candidates
[
:name,
[:name, :city],
[:name, :street, :city],
[:name, :street_number, :street, :city]
]
end
end

关于ruby-on-rails - 更改生成的唯一的标题名称的friendly-id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25379778/

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