Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript代码只生成HTML打印输出,无法呈现它_Javascript_Html_Rendering_Railscasts - Fatal编程技术网

Javascript代码只生成HTML打印输出,无法呈现它

Javascript代码只生成HTML打印输出,无法呈现它,javascript,html,rendering,railscasts,Javascript,Html,Rendering,Railscasts,我是RoR的新手,下面将介绍如何在嵌套表单中删除和添加元素。在我的例子中,我试图允许用户从购物“列表”中添加/删除“项目”。然而,不幸的是,当我在浏览器中单击“添加项目”时,HTML被打印出来,而不是呈现出来。以下是它的输出: <div class ="fields"> Quantity: <input id="list_items_attributes_1315942810959_quantity" name="list[items_attributes][131594281

我是RoR的新手,下面将介绍如何在嵌套表单中删除和添加元素。在我的例子中,我试图允许用户从购物“列表”中添加/删除“项目”。然而,不幸的是,当我在浏览器中单击“添加项目”时,HTML被打印出来,而不是呈现出来。以下是它的输出:

<div class ="fields"> Quantity: <input id="list_items_attributes_1315942810959_quantity" name="list[items_attributes][1315942810959][quantity]" size="7" type="text" /> Name: <input id="list_items_attributes_1315942810959_name" name="list[items_attributes][1315942810959][name]" size="30" type="text" /> Category: <select id="list_items_attributes_1315942810959_category" name="list[items_attributes][1315942810959][category]"><option value="Produce">Produce</option> <option value="Dairy">Dairy</option></select> <p><input id="list_items_attributes_1315942810959__destroy" name="list[items_attributes][1315942810959][_destroy]" type="hidden" value="false" /><a href="#" onclick="remove_fields(this); return false;">remove</a></p> </div>
Add Item
最后,这里是我的application.js文件中的add_fields函数:

function add_fields(link, association, content) {
  var new_id = new Date().getTime();
  var regexp = new RegExp("new_" + association, "g")
  $(link).up().insert({
    before: content.replace(regexp, new_id)
  });
}

知道了!原来link_to_函数中的h()导致HTML在代码中删除之前转义。谢谢!我也有同样的问题。顺便说一句,你是怎么想出来的?
<%= form_for @list do |f| %>
<p>
    <%= f.label :date %>
    <%= f.date_select :date %>
</p>
    <%= f.fields_for :items do |builder|%>
        <%= render "item_fields", :f => builder %>
    <% end %>
<p><%= link_to_add_fields "Add Item", f, :items %></p>  
<%= submit_tag "Create List" %>
<% end %>
  def link_to_add_fields(name, f, association)
    new_object = f.object.class.reflect_on_association(association).klass.new
    fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
      render(association.to_s.singularize + "_fields", :f => builder)
    end
    link_to_function(name, h("add_fields(this, '#{association}', '#{escape_javascript(fields)}')"))
  end
function add_fields(link, association, content) {
  var new_id = new Date().getTime();
  var regexp = new RegExp("new_" + association, "g")
  $(link).up().insert({
    before: content.replace(regexp, new_id)
  });
}