Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为url_添加参数?_Javascript_Ruby On Rails_Ruby_Fusioncharts - Fatal编程技术网

Javascript 如何为url_添加参数?

Javascript 如何为url_添加参数?,javascript,ruby-on-rails,ruby,fusioncharts,Javascript,Ruby On Rails,Ruby,Fusioncharts,我在Rails 2.3应用程序视图中调用这段代码来呈现FusionChart: <div id="cust_progress"></div> <script type="text/javascript"> var activity = new FusionCharts("/flash/MSLine.swf", "chart1Id", "600", "450", "0", "1"); activity.setDataURL("<%=url_for(

我在Rails 2.3应用程序视图中调用这段代码来呈现FusionChart:

<div id="cust_progress"></div>
<script type="text/javascript">
  var activity = new FusionCharts("/flash/MSLine.swf", "chart1Id", "600", "450", "0", "1");
  activity.setDataURL("<%=url_for(:controller=>'custs',:action=>'progress_line_chart', :id=>params[:id])%>");
  activity.render("cust_progress");
</script>

var活动=新的FusionCharts(“/flash/MSLine.swf”、“chart1Id”、“600”、“450”、“0”、“1”);
activity.setDataURL(“'custs',:action=>'progress\u line\u chart',:id=>params[:id])%>”;
活动。提交(“客户进度”);
在调用此代码的范围内,我需要传递一些其他参数到数据url。我无法找到任何方法将这些参数输入到我的进度线图表控制器操作中

我相信url_for方法不允许您传递更多参数,因此我有点不知所措,我尝试了一些其他url创建方法,但没有找到任何有效的方法


这能做到吗?全局变量是一个肮脏的解决方案,但它是我暂时拥有的。

将数据作为字符串而不是符号传递


“数据url”=>“您的数据”

我不确定我是否理解这个问题,因为您可以为指定任何想要的参数:

url_for(:controller => 'custs', :action => 'progress_line_chart',
        :id => params[:id], :some => "other", :data => "goes", :here => true)

它会将无法识别的路径组件附加为查询字符串。

这适用于单个参数,但它似乎不会在“&”后面加上任何内容例如:我在params[:end]中有一些内容,但params[:start]是nil,使用params.inspect我看到:{“action”=>“progress_line_chart”,“end”=>“123”,“id”=>“5”,“controller”=>“custs”,“FCTime”=>“684”}要添加-问题是对URL进行编码,一旦编码完成,我可以传递多个参数,下一个弹出的问题是,我尝试传递的任何时间参数都会破坏URL,原因我不知道。编码到%3A的“:”会导致我的URL继续中断,这很烦人,但可以通过使用自定义时间格式来避免。这是正确的,但我认为问题在于setDataUrl()函数,它似乎去除了查询字符串中“&”之后的所有内容。因此我可以传递一个参数,而不是更多。我认为问题与正确编码和转义字符有关。我相信我使用了CGI.escape