Open Flash Chart 2 - los identificadores son los mismos múltiplos por lo que no se muestran
-
29-09-2019 - |
Pregunta
Puedo conseguir un éxito Open Flash Chart por visión. Ahora estoy tratando de soportar múltiples gráficas abiertas destello por la vista pero el código fuente que muestra los identificadores de los dos divs generados son los mismos:
# javascript at top of view
<%= javascript_include_tag "swfobject.js", :cache => true %>
# view itself
<%= @graph.html_safe %> # html_safe is necessary for Rails 3
<%= @graph2.html_safe %>
# view's source code
<div id='flashcontent_913000'></div>
<script type="text/javascript">
swfobject.embedSWF(
"/open-flash-chart.swf","flashcontent_913000",
"440", "310", "9.0.0", "expressInstall.swf",
{"data-file":"/analytics%2Fpie1"}, {}, {} );
</script>
</div>
<br />
<div id='flashcontent_913000'></div>
<script type="text/javascript">
swfobject.embedSWF(
"/open-flash-chart.swf","flashcontent_913000",
"440", "310", "9.0.0", "expressInstall.swf",
{"data-file":"/analytics%2Fpie2"}, {}, {} );
</script>
</div>
#controller
respond_to do |wants|
wants.html {
@graph = ofc2( 440, 310, 'analytics/pie1' )
@graph2 = ofc2( 440, 310, 'analytics/pie2' )
}
end
def pie1
... # functioning when put in the view alone
end
def pie2
... # functioning when put in the view alone
end
Debido a que los identificadores son los mismos, intentos <%= @graph.html_safe %>
para rendir Graph2 y falla, y Graph2 no se muestra en absoluto. Necesito conseguir OFC2 para generar identificaciones diferentes. ¿Cómo puedo lograr esto?
Solución
Resulta que se puede especificar un identificador en su controlador justo después de 'análisis / pie1', por ejemplo. Especificando el ID específicamente, eliminamos cualquier posibilidad de un algoritmo que genera el mismo número y por lo tanto no mostrar las imágenes.
Ejemplo: @graph = ofc2( 440, 310, 'analytics/pie1', '/', 'my_unique_div' )