繁体   English   中英

无法使用Ajax刷新div,我在做什么错?

[英]Cannot refresh a div with Ajax, what am i doing wrong?

我在div内放置了一个饼图,并想通过按网页上的两个链接(计数或总计)之一来重新计算提供该数据的数据。

这是我的观点摘录:

<%= link_to "Count", {action: "switch_chart_dim"}, remote:true %>
<%= link_to "Total", retailers_switch_dim_path("total"), remote:true %>
<div id="visualization" > 
    <%= render partial: '/charts/highcharts_pie', locals: {pie_data: @pie_gender} %>
</div>

我的控制器:

def switch_chart_dim(type=:count)
    logger.debug("URRAY i am here")
    @pie_gender = Receipt.group_by_gender_pie(current_user, type,
                                              params["/retailers"][:begin_date], 
                                              params["/retailers"][:end_date])
    respond_to do |format|
        format.js { render :layout=>false }
    end
end

我的js文件(switch_chart_dim.js.erb)

$('#visualization').html('<%= escape_javascript(render(:partial: '/charts/highcharts_pie', locals: {pie_data: @pie_gender})).html_safe %>')

我已经阅读了几篇文章,并尝试将其全部应用,但是由于某种原因,似乎甚至没有调用我的控制器动作(至少我在日志中看不到“ URRAY”调试消息)。

我究竟做错了什么 ?

编辑

如果可能的话,这是我的匹配路线:

match '/retailers', to: 'retailers#switch_chart_dim', via: :post, as: "retailers_switch_dim"

我似乎已经发现我的问题了。

我的路线文件包含两条冲突的路线,并且正在调用搜索操作。 我通过分析Firebug中的请求发现了这一点:

match '/retailers', to: 'retailers#search', via: :post, as: "retailers_search"
match '/retailers', to: 'retailers#switch_chart_dim', via: :post, as: "retailers_switch_dim"

通过更换解决

match '/retailers', to: 'retailers#switch_chart_dim', via: :post, as: "retailers_switch_dim" 

match '/retailers/switch_chart_dim', to: 'retailers#switch_chart_dim', via: :post, as: "retailers_switch_dim"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM