我在 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"