Incompatibilidad entre los plugins Cakeday, Data-Explorer y Animated Avatar

Hola @piffy :slight_smile:

A título informativo, he instalado Avatares Animados en mi sitio de prueba (junto con Cakeday :cake:) y creo que puedo reproducir este error. :+1:

  • Instala y habilita ambos plugins
  • Usa código ingenioso en la consola de Rails [1] para establecer la fecha de unión del usuario de prueba como hace un año hoy
  • Accede a /cakeday/anniversaries/today
  • Error 500
Mensaje (4 copias reportadas)

ActiveModel::MissingAttributeError (atributo faltante: admin)
app/models/concerns/roleable.rb:14:in `staff?'
lib/plugin/instance.rb:297:in `public_send'
lib/plugin/instance.rb:297:in `block (2 levels) in add_to_class'
(eval):8:in `_fast_attributes'
app/controllers/application_controller.rb:521:in `serialize_data'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

Backtrace

activemodel (7.0.3.1) lib/active_model/attribute.rb:226:in `value'
activemodel (7.0.3.1) lib/active_model/attribute_set/builder.rb:43:in `fetch_value'
activerecord (7.0.3.1) lib/active_record/attribute_methods/read.rb:38:in `_read_attribute'
activemodel (7.0.3.1) lib/active_model/attribute_methods.rb:277:in `admin'
app/models/concerns/roleable.rb:14:in `staff?'
plugins/discourse-animated-avatars/plugin.rb:90:in `block (2 levels) in activate!'
lib/plugin/instance.rb:297:in `public_send'
lib/plugin/instance.rb:297:in `block (2 levels) in add_to_class'
activesupport (7.0.3.1) lib/active_support/core_ext/object/try.rb:15:in `public_send'
activesupport (7.0.3.1) lib/active_support/core_ext/object/try.rb:15:in `try'

Pensé que podría intentar una forma más fácil y hacer lo mismo en los cumpleaños para evitar meterme con la consola de Rails, pero /cakeday/birthdays/today pareció funcionar bien.


  1. user = User.where(username: ‘Test_Three’)
    user.update(created_at: “2022-01-11 00:00:00.00000”) ↩︎

2 Me gusta