Rails中呈现表单的结果没有表单标签,只有输入

时间:2016-05-30 07:31:17

标签: javascript forms ruby-on-rails-4

我正在另一个表单中呈现一个表单,但是这个新呈现的表单没有表单标签,只有输入和提交。

可能有什么问题?

这是我的控制器:

  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 %>

2 个答案:

答案 0 :(得分:1)

它不是关于rails的,HTML不会让一个形式在另一个内部。通过替换第一个表格来解决问题。

答案 1 :(得分:0)

尝试将new.js.erb中的渲染修改为以下内容: -

$('#customer-form').html("<%= escape_javascript(render partial: 'form_ajax', locals: {customer: @customer}) %>");

让我知道它是否有效。感谢