[英]Preparing XML Data for Chart Library
我正在使用將XML文件/字符串作為輸入的Flash Chart庫。 該xml文件是使用xml.builder文件生成的,但是我不確定實際是否找到了生成的xml文件。
如果存在一個(name).xml.builder文件和一個(name).html.erb文件,這是否意味着在調用format.html和format.xml時都生成了一個html / 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期望一個名為“ input_by_month.xml”的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
我犯的錯誤是由於route.rb沒有考慮.xml路徑。 由於input_by_month是一個自定義操作,因此我使用以下命令將其映射到route.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'
添加這一行,允許我的.html視圖中的javascript查找由input_by_month操作生成的.xml文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.