Подготовка данных XML для библиотеки диаграмм - PullRequest
0 голосов
/ 21 июля 2010

Я использую библиотеку флеш-карт, которая принимает XML-файл / строку в качестве входных данных.XML-файл создается с использованием файла xml.builder, но я не уверен, что сгенерированный XML-файл действительно найден.

Если есть файл (имя) .xml.builder и файл (имя) .html.erb, означает ли это, что генерируется как файл html / xml, когда форматом format.html и format.xml являетсяназывается?В чем может быть другая проблема?

Ниже приведены соответствующие фрагменты кода: (input_by_month.html.erb)

<script type="text/javascript" language="javascript" src="/javascripts/AnyChart.js"></script> 
</head>
<body> 
    <h2>Input by Month</h2>
    <script type="text/javascript" language="javascript"> 
    //<![CDATA[
    var chart = new AnyChart('/AnyChart.swf'); 
    chart.setXMLFile('input_by_month.xml'); 
    chart.write(); 
    //]]> 
    </script> 
 </body> 

Приведенный выше JavaScript-файл ожидает файл XML с именем "input_by_month.xml".Я думаю, что файл строится через "input_by_month.xml.builder".XML правильно сформирован и не содержит ошибок.

xml.anychart
  xml.settings do
  ....
  end
end 

Представление html создается в контроллере с действием с именем "input_by_month".

class ChartsController < ApplicationController
  def input_by_month
    @months = params[:months]
    @input_by_month = InputByMonth.find(:all, :conditions => "user_id = '#{current_user.id}' AND end_time between '#{@months.months.ago.to_date}' AND '#{Time.now.to_date}'")

    respond_to do |format|
      format.html
      format.xml
    end
  end
end

1 Ответ

0 голосов
/ 21 июля 2010

Ошибка, которую я сделал, произошла из-за того, что route.rb не учитывал пути .xml.Поскольку input_by_month - это настраиваемое действие, я сопоставил его с маршрутом rout.rb, используя:

map.connect "charts/input_by_month", :controller => 'charts', :action => 'input_by_month'

В приведенной выше строке отображаются только файлы .html.Мне нужно было также добавить маршруты для XML-файлов.Для этого мне нужно добавить дополнительную строку:

map.connect "charts/input_by_month.:format", :controller => 'charts', :action => 'input_by_month'

Добавление этой строки позволило javascript в моем представлении .html найти файл .xml, созданный действием input_by_month.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...