Rails Friendly_Id на Heroku, Heroku не обновляет слагов

Я настроилfriendly_id драгоценный камень, следуя вдоль к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 поле, но оно пустое, и я не уверен, где я ошибаюсь здесь. Если кто-то сталкивался с этим раньше, любой совет будет высоко ценится. Спасибо.

Ответы на вопрос(3)

should_generate_new_friendly_id? метод из

  def should_generate_new_friendly_id?
    title_changed?
  end

в

  def should_generate_new_friendly_id?
    slug.nil? || title_changed?
  end
Решение Вопроса

конечно, это всегда что-то глупое. Я действительно не уверен, как я пропустил это:

Этот кусок кода:

def should_generate_new_friendly_id?
  new_record?
end

То, что существует, чтобы остановить создание новых слагов, если имя изменено, также останавливало его, обновляя предыдущие посты.

Я решил проблему, прокомментировав это, нажав и запустив консоль Heroku & amp; затемUser.find_each(&:save) сработало просто отлично, потом я откомментировал код & amp; снова подтолкнул к Героку, и все было в порядке.

Надеюсь, это может помочь кому-то в будущем!

friendly_id :text, use: [:slugged, :history]

Должен был быть

friendly_id :text, use: :slugged

Чтобы заставить героку сохранить работу ... Я потом перечитал часть истории

Ваш ответ на вопрос