gpt4 book ai didi

ruby-on-rails - Friendly_id 不为旧记录创建 slug

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

我刚刚将 Friendly_id gem 添加到我的 Rails 项目中,希望不使用数据库 ID 并创建一个 slug,但我似乎无法为旧记录创建 slug。我的模型看起来像这样。

class Mapping < ActiveRecord::Base

extend FriendlyId
friendly_id :title, use: :slugged

# Friendly_Id code to only update the url for new records
def should_generate_new_friendly_id?
new_record? || slug.blank?
end

end

然后我运行 Model.find_each(&:save) 但它一直吐出 nil 结果。我试过完全注释掉 should_generate_new_friendly_id 但没有成功。有人看到我在这里做错了什么吗?

编辑
我回滚了我的数据库并重写了我的迁移,这似乎已经解决了这个问题。

最佳答案

如果有人发现这个 6 年前的问题:

没有“do and end” block :

find_each 返回一个 Enumerable(不是 ActiveRecord 类)

使用:

Model.find_each.select(&:save)

注意添加的“select”方法

Doing stuff with Rails’ find_each

关于ruby-on-rails - Friendly_id 不为旧记录创建 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12808033/

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