ruby-on-rails heroku friendly-id

ruby on rails - Rails Friendly_Id en Heroku, Heroku no actualiza babosas



ruby-on-rails friendly-id (3)

Y, por supuesto, siempre es algo tonto. Realmente no estoy seguro de cómo me perdí esto:

Este pedazo de código:

def should_generate_new_friendly_id? new_record? end

Que está ahí para evitar que se realicen nuevas babosas si se cambia el nombre, también se detuvo para actualizar las publicaciones anteriores.

Resolví el problema comentando esto, presionando, corriendo la consola Heroku y luego User.find_each(&:save) funcionó bien, luego no comenté el código y volví a presionar a Heroku, y todo está muy bien.

¡Espero que esto pueda ayudar a alguien en el futuro!

Configuré la gema friendly_id , siguiendo a RailsCasts Screencast en ella. Localmente, esto funciona de manera brillante, lo instalé, ejecuté User.find_each(&:save) que actualizó con éxito el campo slug en cada uno de los usuarios existentes y todo estaba bien.

Ahora he llevado esto a Heroku, y aunque funciona bien para los miembros nuevos que se agregan, Heroku no está actualizando la cuenta de usuarios para usuarios ya existentes.

Ejecutar heroku run console y luego User.find_each(&:save) simplemente no hace nada:

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

El código relevante en models/user.rb es:

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

Y he ejecutado todas las migraciones de base de datos en Heroku y salieron bien. Comprobé y la tabla de users tiene un campo slug , pero está vacía y no estoy seguro de dónde me estoy equivocando aquí. Si alguien se encuentra con esto antes, cualquier consejo sería muy apreciado. Gracias.


En mi caso fue historia:

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

Tenía que ser

friendly_id :text, use: :slugged

Para hacer que el heroku salve el trabajo ... entonces releí la parte de la historia


Pude solucionar este problema cambiando mi should_generate_new_friendly_id? método de

def should_generate_new_friendly_id? title_changed? end

a

def should_generate_new_friendly_id? slug.nil? || title_changed? end