通过轨道中的Ajax在控制器B的每个视图中渲染控制器A的视图

时间:2015-04-08 00:21:35

标签: javascript ruby-on-rails ajax ruby-on-rails-4

我有一个Cart控制器和一个" show"显示购物车内容的视图。我想在我的Products控制器的每个视图中显示购物车。所以,我使用

渲染产品/节目中的购物车/节目
<%= render "/cart/show" %>

现在,我想在用户想要添加产品时通过ajax更新购物车。请指导我如何设计我的控制器来实现这一目标。

1 个答案:

答案 0 :(得分:0)

如何使用partials来干扰你的观点。 http://guides.rubyonrails.org/layouts_and_rendering.html

function postToRailsApi() {
  $.ajax({
    type: "POST",
    url: "the_url_you_want_to_post_to/endpoint",
    data: {someData: {thisId: otherId}},
    dataType: "json",
    success: function(data) {
      alert("OMG SUCCESS status:200")
    }
  });

在rails控制器中:

respond_to do |format|
      if @my_condition.save
        format.html {render nothing: true, status:200}
        format.js{render nothing: true, status:200}
        format.json { render json: @timestamp, status: 200 }
      else
        format.html { render action: "new" }
        format.js { render nothing: true, status: 400 }
        format.json { render nothing: true, status: 400 }
      end
    end

显然你的逻辑会有所不同。