簡體   English   中英

Rails中奇怪的escape_javascript行為

[英]Strange escape_javascript behavior in Rails

調用ajax方法后,escape_javascript函數會針對要渲染的每個項目吐出</div> </div> </div> 我已經檢查了所有關閉標簽兩次和三遍,但找不到錯誤。 Formbuilder是否已正確實例化?

控制器方式

  def add_new_plan
    new_plan = Plan.find(params[:plan_id])
    @customer = Customer.find(params[:customer_id)

    CustomerPlan.create(...)

    # Pass a form builder to the nested form
    @f = ActionView::Helpers::FormBuilder.new(:customer, @customer, view_context, {})

    respond_to do |format|
      format.js
    end
  end

js.erb

$("#customerPlan").html(
  '<%= j( render("plan_tab1", f: @f) ) %>'
);

html的模擬樣本

<div>
  <div>
    form collection loop
      all form elements should be contained here
  </div>
  but the FormBuilder is outputting hidden fields here
</div>

隱藏字段將完全呈現,而不是以其各自的形式迭代。 (請注意,檢查器中的引號在呈現的頁面上不可見。)

鉻檢驗的屏幕截圖

我正在更新另一個表單中的表單。 轉換為使用兩種單獨的形式,通過JS與單個更新按鈕鏈接。 問題是在ajax調用之后,第一個表單<% end %>標記仍處於打開狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM