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
Ruby on rails rails4 ajax返回my.js.erb文件中的文本_Ruby On Rails_Ajax - Fatal编程技术网

Ruby on rails rails4 ajax返回my.js.erb文件中的文本

Ruby on rails rails4 ajax返回my.js.erb文件中的文本,ruby-on-rails,ajax,Ruby On Rails,Ajax,我正在尝试设置一个ajax下拉列表,它将根据下拉列表替换两个图表/图形的内容。问题在于,它并没有仅仅替换该部分,实际上最终呈现的正是我的js.erb文件中的内容 我认为: <h3 class="att">Index Markets <%= form_tag(chart_path(:format=>:js), {:method=>"GET", :remote=> true}) do %> <%= hidden_fie

我正在尝试设置一个ajax下拉列表,它将根据下拉列表替换两个图表/图形的内容。问题在于,它并没有仅仅替换该部分,实际上最终呈现的正是我的js.erb文件中的内容

我认为:

<h3 class="att">Index Markets
    <%= form_tag(chart_path(:format=>:js), {:method=>"GET", :remote=> true})  do %>
            <%= hidden_field_tag :id, params[:id]%>
            <%= select_tag(:sector, options_for_select([['All Sectors',3], ['Equities',4], ['Fixed Income',5], ['Currencies',6], ['Commodities',7]]),
            onchange: 'this.form.submit()')%>

    <% end %>
</h3>

<div id="chart_partial">
        <%= render partial: "chart", locals: {risk:@mkt_risk, ret: @mkt_ret}%>
</div>
然后在update_chart.js.erb中,我有:

 $("#chart_partial").html("<%= escape_javascript(render partial: 'chart', locals: {risk:@mkt_risk, ret: @mkt_ret} ) %>"); 
$(“#图表_部分”).html(“”);
我的部分_chart.html.erb是:

<div class="chart2">
    <%= pie_chart risk, :library=>{:is3D => true,:title=>'Realized Volatility'} %>
</div>
<div class="chart3">
    <%= column_chart ret, :library=>{:title=>'Annualized Returns'}%>
</div>

{:is3D=>true,:title=>“已实现波动率”}%>
{:title=>'Annualized Returns'}%>
我的输出看起来只是js文件的内容,图表部分是在纯文本的白色背景上计算出来的

“图1”是指“图1-1”、“0.105915359876919、0.10591535959595959595919、0.1059159595959595910 10 10 10 10 10 10 10 10 10 10 10.05595959595910 10 10 10 10.05595959595919”、“FV”,0.10957575757575787878787878787998、0.109575757575787878787878787998 8 8 8;8、,,“蒂蒂”0.1132332332182181671671671671671671671671673年年,0.1132182183;3;0.1132332183年1671673;若若若若若“美国”,美国”,美国”,0.11079272727272727272727364848484848484865;0.10;0.1107878787827272736486565656565656565656565;0.10万万万万;:true,\“标题\【n\n\n\n\n新的Char图。柱图(图2)柱图)柱图(柱图)柱图(柱图)柱图(柱图)柱图(柱图)柱图)柱图(图2\,[[“图”0.2\,[“图”图0.2\,[“图0.0.0.0.0.001”“0.0.0019752525252525212610 10\”””,,::::::::“已实现的“已实现的波动性波动性”10.0.0.0.0.0.0.0.0.0.0.0.0019万万万万10.019.019.019万万万万万万万万万万万万万万万点点点,以及“已兑兑兑兑兑兑兑兑兑兑目前目前目前目前目前目前的“已实现的波动性”及(10万万万:”””””””””””””“图书馆\”:{\'title\':\'Annualized Returns\''});\n\n\n“;

结果是

 onchange: 'this.form.submit()')%>
代码的一部分导致即使使用远程true,请求也不能作为AJAX发送

一旦我把它改成这个,它就工作了:

onchange: "$(this).parent('form').submit();")%>
我不知道为什么,如果有人能解释一下,我将不胜感激

onchange: "$(this).parent('form').submit();")%>