Error 500 al publicar página

Hola,

Quería probar la nueva función de publicación de páginas en mi instancia y obtuve un error 500 al abrir el enlace en una pestaña. Lo intenté tanto con temas públicos como privados.

Acabo de intentar reconstruir desde el último commit disponible 629ee5494d, pero el problema persiste.

Registros:


ActionView::Template::Error (undefined method `url' for nil:NilClass) app/views/published_pages/show.html.erb:6 app/controllers/published_pages_controller.rb:49:in `show' app/controllers/application_c 


app/views/published_pages/show.html.erb:6
actionview (6.0.3.2) lib/action_view/base.rb:274:in `_run'
actionview (6.0.3.2) lib/action_view/template.rb:185:in `block in render'
activesupport (6.0.3.2) lib/active_support/notifications.rb:182:in `instrument'
actionview (6.0.3.2) lib/action_view/template.rb:385:in `instrument_render_template'
actionview (6.0.3.2) lib/action_view/template.rb:183:in `render'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'


actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:58:in `block (2 levels) in render_template'
actionview (6.0.3.2) lib/action_view/renderer/abstract_renderer.rb:88:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `instrument'
actionview (6.0.3.2) lib/action_view/renderer/abstract_renderer.rb:87:in `instrument'
actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:57:in `block in render_template'
actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:65:in `render_with_layout'
actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:56:in `render_template'
actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:13:in `render'
actionview (6.0.3.2) lib/action_view/renderer/renderer.rb:61:in `render_template_to_object'
actionview (6.0.3.2) lib/action_view/renderer/renderer.rb:29:in `render_to_object'
actionview (6.0.3.2) lib/action_view/rendering.rb:117:in `block in _render_template'
actionview (6.0.3.2) lib/action_view/base.rb:304:in `in_rendering_context'
actionview (6.0.3.2) lib/action_view/rendering.rb:116:in `_render_template'
actionpack (6.0.3.2) lib/action_controller/metal/streaming.rb:218:in `_render_template'
actionview (6.0.3.2) lib/action_view/rendering.rb:103:in `render_to_body'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:52:in `render_to_body'
actionpack (6.0.3.2) lib/action_controller/metal/renderers.rb:142:in `render_to_body'
actionpack (6.0.3.2) lib/abstract_controller/rendering.rb:25:in `render'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:36:in `render'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
activesupport (6.0.3.2) lib/active_support/core_ext/benchmark.rb:14:in `block in ms'
/usr/local/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
activesupport (6.0.3.2) lib/active_support/core_ext/benchmark.rb:14:in `ms'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:44:in `block in render'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
activerecord (6.0.3.2) lib/active_record/railties/controller_runtime.rb:34:in `cleanup_view_runtime'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:43:in `render'
app/controllers/published_pages_controller.rb:49:in `show'
actionpack (6.0.3.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:195:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:112:in `block in run_callbacks'
app/controllers/application_controller.rb:340:in `block in with_resolved_locale'
i18n (1.8.5) lib/i18n.rb:313:in `with_locale'
app/controllers/application_controller.rb:340:in `with_resolved_locale'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:139:in `run_callbacks'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `instrument'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
activerecord (6.0.3.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:136:in `process'
actionview (6.0.3.2) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'


actionpack (6.0.3.2) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.0.3.2) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:834:in `call'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:336:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/cookies.rb:648:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.9.3) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.0.3.2) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.0.3.2) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:19:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiler.rb:321:in `call'


message_bus (3.3.1) lib/message_bus/rack/middleware.rb:61:in `call'
lib/middleware/request_tracker.rb:176:in `call'
railties (6.0.3.2) lib/rails/engine.rb:527:in `call'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `public_send'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
unicorn (5.6.0) lib/unicorn/http_server.rb:632:in `process_client'
unicorn (5.6.0) lib/unicorn/http_server.rb:728:in `worker_loop'
unicorn (5.6.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'
unicorn (5.6.0) lib/unicorn/http_server.rb:144:in `start'
unicorn (5.6.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'

Cualquier ayuda será bienvenida. ¡Gracias!

2 Me gusta

El error que estás reportando proviene de https://github.com/discourse/discourse/blob/master/app/views/published_pages/show.html.erb#L6. Está intentando encontrar la URL del logotipo que se ha configurado mediante la opción logo_small de tu sitio.

Puedo reproducir ese error al eliminar el logotipo configurado mediante la opción logo_small de mi sitio.

Si no has configurado un logotipo pequeño para tu sitio, configurarlo debería eliminar el error. Sin embargo, creo que esto es algo que debe corregirse en el código de Discourse. No haber configurado un logotipo pequeño no debería generar un error fatal al acceder a una página publicada.

5 Me gusta

Esto ya está corregido aquí :arrow_down: Ahora se utilizará el logotipo de escritorio si el logotipo pequeño no está disponible.

Creo que deberíamos usar el título del sitio si ninguno de los dos logotipos está disponible. Sin embargo, en la interfaz actual, no se ve bien ya que tenemos el título de la página junto a él. ¿Quizás deberíamos mover el título de la página fuera de la cabecera del sitio, como en los siguientes ejemplos?

5 Me gusta

Este tema se cerró automáticamente después de 5 días. Ya no se permiten nuevas respuestas.