Rails 4 Ajax获取请求而不显示

时间:2014-01-12 04:03:12

标签: javascript jquery ruby-on-rails ajax

希望这个问题与其他人的问题不太相似。我花了很多时间研究它,但显然我不太清楚要搜索的术语。

使用Rails 4,我想使用ajax请求从数据库表加载数据并使用它来更新图表。通过创建控制器方法和视图,用数据填充视图,然后通过ajax获取它,我成功地做到了这一点。 问题是:如何在不创建视图的情况下完成这项工作?我的解决方案并不是非常优雅,我希望能提供更优秀的解决方案。我需要制作更多的图表,如果可能的话,我宁愿不为每个图表制作新的视图。

user_controller.rb

def asset_allocations
  @AAPL = ....
  @GOOG = ....
end

asset_allocations.html.erb

<div id="AAPL">
  <%= @AAPL %>
</div>
<div id="GOOG">
  <%= @GOOG %>
</div>

assets.js.erb

$(document).ready(function() {

    $.ajax({
        type: 'GET',
        url: "/allocations",
        cache: false,
        success: function(html) {
            var AAPL = $(html).find('#AAPL').html();
            var GOOG = $(html).find('#GOOG').html();
            show_pie_chart(parseFloat(AAPL), parseFloat(GOOG));
        }
    });
});

1 个答案:

答案 0 :(得分:0)

使用

head :no_content

在最后一行中 视图不需要