我正在另一个表单中呈现一个表单,但是这个新呈现的表单没有表单标签,只有输入和提交。
可能有什么问题?
这是我的控制器:
def new
@customer = Customer.new
respond_to do |format|
format.html
format.js
end
end
这是new.js.erb:
$('#customer-form').show();
$('#customer-form').html("<%= j (render 'form_ajax') %>");
这是_form_ajax.html.erb:
<%= form_for @customer, remote: true do |f| %>
... inputs in here ...
<div class="actions">
<%= f.submit "ОК" %>
</div>
<% end %>
要呈现的HTML元素:
<%= form_for(@customer) do |f| %>
.. some controls here ..
<div id="customer-form" style="display:none;"></div>
.. some inputs here ..
<div class="actions">
<%= f.submit "ОК" %>
</div>
<% end %>
答案 0 :(得分:1)
它不是关于rails的,HTML不会让一个形式在另一个内部。通过替换第一个表格来解决问题。
答案 1 :(得分:0)
尝试将new.js.erb中的渲染修改为以下内容: -
$('#customer-form').html("<%= escape_javascript(render partial: 'form_ajax', locals: {customer: @customer}) %>");
让我知道它是否有效。感谢