我已经设置了friendly_id gem,跟随它上面的RailsCasts Screencast。在本地这工作得很好,我安装了它,运行User.find_each(&:save)
成功地更新了每个现有用户的 slug 字段,一切都很好。
我现在已经将它推送到 Heroku,尽管它对添加的任何新成员都有效,但 Heroku 并没有为我更新现有用户的用户 slug。
运行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
字段,但它是空的,我不确定我在哪里出错了。如果有人碰巧以前遇到过这种情况,任何建议将不胜感激。谢谢你。