La aplicación tiene que poder soportar el que no exista una variable de configuración sin romperse.
En este caso, se está utilizando en el helper de construcción de secciones el siguiente código:
url_cuadrodemando = GorConfig.getValue("CUADRO_MANDO_CONTROL_PANEL_URL")
if url_cuadrodemando != "FALSE"
secciones.push({ nombre: 'cuadromando',
url: url_cuadrodemando + '?locale=' + session[:idioma_seleccionado],
titulo: _('Cuadro de Mando') }) if @usuario_identificado.cuadromando
end
Si no está definida la variable de configuracion "CUADRO_MANDO_CONTROL_PANEL_URL" (porqué ese nombre tan raro?) la variable "url_cuadrodemando" está a NIL con lo que entra en el if y la app casca al intentar concatenar "nil" con un string:
Showing /home/sramos/devel/gong/gor/app/views/layouts/layout.html.erb where line #43 raised:
undefined method `+' for nil:NilClass
Extracted source (around line #43):
40: <div id="centra_ruta">
41: <ul class="menu_superior">
42: <div class="info_seccion"><%= ruta_seccion %></div>
43: <% secciones.each do |seccion| %>
44: <% if seccion[:nombre] == "cuadromando" %>
45: <li class="menu"><a id="seccion_<%= seccion[:nombre] %>" href="<%= seccion[:url] %>" title="<%= seccion[:titulo] %>" target="_blank"><div> </div></a> </li>
46: <% else %>
Rails.root: /home/sramos/devel/gong/gor
Application Trace | Framework Trace | Full Trace
app/helpers/layout_helper.rb:40:in `secciones'
app/views/layouts/layout.html.erb:43:in `_app_views_layouts_layout_html_erb___3963995375481557399_69838703648260'
app/controllers/info_controller.rb:55:in `index'
Corrijo el comportamiento para que evite incluir el cuadro de mando cuando el resultado del getValue sea "blank?" (nulo o cadena vacía) y así evitar este problema.