[英]Render partial on click with Jquery append
我想要一个按钮,它将在每次单击时呈现一个新的嵌套表单。 为此,我使用了JQuery并使用了Rails 3.2
在另一个线程上,有人说要使用ajax调用“ onclick正在浏览器中执行,因此您将无法在其中使用erb。您将要进行ajax调用(.load是一个方便的快捷方式,用于这样)到服务器,您可以在其中使用erb渲染部分内容以获取需要返回的html。”
这是我的html.erb表单,在Jquery单击时插入的表单部分和一行,以及JQuery。 用于New Member的html可以正确呈现,但是部分呈现就好像只是一个字符串一样。
有谁知道我怎么做ajax调用来呈现部分或什至我应该?
<h1>New Member</h1><%=render'new_user')%>
<%= form_for(@family) do |f| %>
<form class = 'form-horizontal' role = 'form'>
<div class='form-group'>
<%= f.label :name %>
<%= f.text_field :name, placeholder: @family.name %>
</div>
<button type="button" id="add-family-button" class="btn btn-warning">Add to your table</button>
<div id="child-forms-div" class='form-group'>
</div>
<div class='actions'>
<%= f.submit %>
</div>
</form>
<% end %>
这实际上在一行中,但是我无法像在堆栈溢出时那样格式化
<div class='form-group col-xs-3'>
<%= f.fields_for :users, @new_user do |ff| %>
<%= label_tag :first_name %>
<%= ff.text_field :first_name, placeholder: 'First Name' %>
<%= label_tag :last_name %>
<%= ff.text_field :last_name, placeholder: 'Last Name' %>
<% end %>
</div>
$("#add-family-button").click(function(){
var form = "<h1>New Member</h1><%=render'new_user')%>";
$("#child-forms-div").append(form);
});
为了能够动态生成嵌套表单,您可以将ajax或javascript与一些辅助方法一起使用。
在此处的rails中很好地解释了此过程-rails cast link
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.