Javascript Rails:从控制器渲染部分

Javascript Rails:从控制器渲染部分,javascript,jquery,ruby-on-rails,render,partial-views,Javascript,Jquery,Ruby On Rails,Render,Partial Views,我有一个视图,其中包含一个提交按钮,在提交时,我需要在同一页面中呈现部分视图。我注意到,当我在控制器中使用render partial时,另一个视图会在另一个页面中打开。那么根据这个答案, 我做了以下工作: 在我的控制器中,我将此添加到主操作管理支付: def manage_payments @guardian = Guardian.find(params[:id]) @students=Student.find_all_by_sibling_id(@guardian.ward_

我有一个视图,其中包含一个提交按钮,在提交时,我需要在同一页面中呈现部分视图。我注意到,当我在控制器中使用render partial时,另一个视图会在另一个页面中打开。那么根据这个答案, 我做了以下工作:

在我的控制器中,我将此添加到主操作管理支付:

def manage_payments
    @guardian = Guardian.find(params[:id])
    @students=Student.find_all_by_sibling_id(@guardian.ward_id)
    if request.post?
      @total_amount=params[:total]
      @no_payments=params[:no_payments]
      respond_to do |format|
        format.js  { render :action => 'distribute_payments' }
      end
    end
我在视图下创建了distribute_payments.rjs和distribute_payments.html.erb:

分发_payments.rjs:

  page.insert_html :bottom, "distribute_payments", render(:partial=>'distribute_payments')
分发_payments.html.erb:

hi
现在,当我单击主视图中的submit按钮时,它会打开另一个页面,其中包含以下内容:

Element.insert("distribute_payments", { bottom: "hi" });
这是日志文件:

Processing ParentWiseFeePaymentsController#manage_payments (for 192.168.1.112 at 2015-10-07 13:50:11) [POST]
  Parameters: {"payments"=>{"no_payments"=>"2"}, "controller"=>"parent_wise_fee_payments", "action"=>"manage_payments", "id"=>"4", "commit"=>"► Generate", "authenticity_token"=>"4ISuvzv03vPyJqCYS6wNwTUcHLDpQ8lLSqCh8gfb4TA=", "no_payments"=>"2"}
Username : admin Role : Admin
Rendering parent_wise_fee_payments/distribute_payments
Completed in 13ms (View: 1, DB: 1) | 200 OK [http://acmeschool.acme.local/parent_wise_fee_payments/manage_payments/4]

这里发生了什么?

如果您将render:action=>“distribute\u payments”替换为render“distribute\u payments”会产生相同的结果如果您尝试渲染部分内容:“distribute\u payments”这会将我带到另一个只有hi的页面。