Open Flash Chart 2 - المعرفات هي نفسها حتى لا يتم عرض المضاعفات

StackOverflow https://stackoverflow.com/questions/3896806

سؤال

يمكنني الحصول على مخطط فلاش مفتوح ناجح لكل عرض. أحاول الآن دعم مخططات فلاش مفتوحة متعددة لكل عرض ، لكن الرمز المصدر يوضح أن المعرفات لكلا divs التي تم إنشاؤها هي نفسها:

# 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

لأن المعرفات هي نفسها ، <%= @graph.html_safe %> يحاول تقديم Graph2 ويفشل ، ولا يعرض Graph2 على الإطلاق. أحتاج إلى الحصول على OFC2 لإنشاء معرفات مختلفة. كيف يمكنني تحقيق ذلك؟

هل كانت مفيدة؟

المحلول

اتضح أنه يمكنك تحديد معرف في وحدة التحكم مباشرة بعد "التحليلات/PIE1" ، على سبيل المثال. من خلال تحديد المعرف على وجه التحديد ، نقوم بإلغاء أي فرصة لإنشاء خوارزمية تولد نفس الرقم وبالتالي فشلت في إظهار الصور.

مثال: @graph = ofc2( 440, 310, 'analytics/pie1', '/', 'my_unique_div' )

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top