gpt4 book ai didi

ruby-on-rails - Heroku 上的 Rails Friendly_Id,Heroku 不更新 slug

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

我已经设置了 friendly_id gem ,跟随 RailsCasts Screencast在上面。在本地这工作得很好,我安装了它,运行 User.find_each(&:save) 成功更新了每个现有用户的 slug 字段,一切都很好。

我现在已将此推送到 Heroku,尽管它对添加的任何新成员都有效,但 Heroku 不会为我更新现有用户的用户信息。

运行 heroku run console 然后 User.find_each(&:save) 什么都不做:

irb(main):001:0> User.find_each(&:save)
User Load (20.2ms) SELECT "users".* FROM "users" WHERE ("users"."id" >= 0) ORDER BY "users"."id" ASC LIMIT 1000
(23.6ms) BEGIN
(2.0ms) COMMIT
(13.6ms) BEGIN
(21.1ms) COMMIT
=> nil

models/user.rb中的相关代码为:

extend FriendlyId
friendly_id :name, use: :slugged
def should_generate_new_friendly_id?
new_record?
end

我已经在 Heroku 上运行了所有数据库迁移,并且一切正常。我检查了 users 表确实有一个 slug 字段,但它是空的,我不确定我哪里出错了。如果有人碰巧以前遇到过这种情况,任何建议将不胜感激。谢谢。

最佳答案

当然,这总是很愚蠢的。我真的不知道我是怎么错过的:

这段代码:

def should_generate_new_friendly_id?
new_record?
end

如果名称更改,有什么可以阻止新的 slugs 生成,也可以阻止它更新以前的帖子。

我通过注释掉这个问题解决了这个问题,推送,运行 Heroku 控制台然后 User.find_each(&:save) 工作得很好,然后我取消注释代码并推送到 Heroku再一次,一切都很好。

希望这对 future 的人有所帮助!

关于ruby-on-rails - Heroku 上的 Rails Friendly_Id,Heroku 不更新 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10957505/

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