gpt4 book ai didi

ruby-on-rails - Friendly_id 在记录更新时更改 slug

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:31 28 4
gpt4 key购买 nike

我做错了什么吗? 在记录更新时,slug 没有被更新

 class Company < ActiveRecord::Base
extend FriendlyId

friendly_id :name, use: [:slugged, :finders]

def should_generate_new_friendly_id?
true
end

我正在使用:

 friendly_id (5.0.4)
Rails 4.1.7
ruby 2.1.3p242 (2014-09-19 revision 47630)

这就是我在终端中尝试的方式:

  c = Company.last
c.slug = nil
c.name = "testing abb"
c.save
c.reload
c.slug // nil
c.name // testing abb

在创建时:它插入 slug 但不在记录更新时更新。有什么想法吗?

最佳答案

:history 添加到 friendly_id :name,使用:%i(slugged finders):

friendly_id :name, use: %i(slugged history finders)

并覆盖 should_generate_new_friendly_id 方法以满足您的需求:

 def should_generate_new_friendly_id? #will change the slug if the name changed
name_changed?
end

关于ruby-on-rails - Friendly_id 在记录更新时更改 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28082465/

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