Jquery 该应用程序在屏幕上打印代码,而不是rails 3.1.0中的视图

Jquery 该应用程序在屏幕上打印代码,而不是rails 3.1.0中的视图,jquery,ruby-on-rails,ruby-on-rails-3.1,Jquery,Ruby On Rails,Ruby On Rails 3.1,在我们的应用程序中,一个选择框被动态添加到新的rfq表单中。问题不是视图,而是代码打印在屏幕上。该代码基于railscasts.com#197,经过一些修改 以下是rfqs/_form_new.html.erb中的代码: <div id="std"> <%= render :partial => 'standards', :collection => @rfq.standards, :locals => { :f => f } %> &

在我们的应用程序中,一个选择框被动态添加到新的rfq表单中。问题不是视图,而是代码打印在屏幕上。该代码基于railscasts.com#197,经过一些修改

以下是rfqs/_form_new.html.erb中的代码:

  <div id="std">
  <%= render :partial => 'standards', :collection => @rfq.standards, :locals => { :f => f } %>
  </div>
  <p><%= link_to_add_fields "Add Std", f, :standards, @rfq %></p>
以下是“添加”字段:

  def link_to_add_fields(name, f, association, obj)
    if association == :standards
      new_object = obj.standards.build
    else
      new_object = obj.test_items.build
    end

    link_to_function(name, "add_fields(this, \"#{association}\", \"escape_javascript(render :partial => association.to_s, :collection => new_object, :locals => { :f => f })\")")
  end  
function add_fields(link, association, content) {
  var new_id = new Date().getTime();
  var regexp = new RegExp("new_" + association, "g")
  $(link).parent().before(content.replace(regexp, new_id));
}      
rfq和标准之间的关系是HABTM。在railscasts.com的例子中,这种关系有很多并且属于


非常感谢您的帮助。

问题是您正在使用escape\u javascript传递字符串。。。在它的链接到功能

您可能希望立即渲染部分,并将其放入link_to_函数中

link_to_function(name, "add_fields(this, \"#{association}\", #{escape_javascript(render :partial => association.to_s, :collection => new_object, :locals => { :f => f })})")

删除引号后尝试。什么也没做。如果没有反斜杠,第三个参数完全消失,仍然没有任何格式。以下是with\:的html源代码: