【发布时间】:2012-06-13 00:34:43
【问题描述】:
我已经设置了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 字段,但它是空的,我不确定我在哪里出错了。如果有人碰巧以前遇到过这种情况,任何建议将不胜感激。谢谢。
【问题讨论】:
标签: ruby-on-rails heroku friendly-id