form_for关闭<form>标签



我在一个页面上遇到了一个奇怪的情况,我的<form>标记被立即关闭,表单的内容被单独留下,没有用处。

以下是基本ERB:

<%= form_for(@review) do |f| %>
   <%= render 'apply/review_form', :locals => {:f => f} %>
   <%= f.text_field :notes %>
<% end %>

看起来很简单,对吧?我自己也试过局部;CCD_ 2本身;使用form_tag的不同版本,但什么都不起作用。

HTML如下所示:

<div id="reviewContainer">
  <form accept-charset="UTF-8" action="/reviews" class="new_review" id="new_review" method="post">
  </form>
  <div style="margin:0;padding:0;display:inline">
    <input name="utf8" type="hidden" value="✓">
    <input name="authenticity_token" type="hidden" value="dJSuLMfhBSVKAM3Buwe1NjtBedSLQl062/+oliGbBfE=">
  </div>
  <input id="review_notes" name="review[notes]" size="30" type="text">
  <div class="clear"></div>
</div>

有什么想法吗?它看起来如此简单,我不明白为什么它不起作用!


可能有用的信息

此表单不是页面上唯一的表单,它包含在JQuery Tools Scrollable中。

我遇到了这个问题并解决了它。对我来说,这是因为我在一个无效的地方提交了表格。具体来说,我有一些这样的内容:

<table>
  <tr>
    <td>
      Stuff I might want to edit
    </td>
    <div style="display: none">
      <%= form_for thing_i_might_want_to_edit %>
        ...
      <% end %>
    </div>
  </tr>
</table>

将隐藏的div(以及其中的表单)移动到标记中解决了这个问题。

您使用的是什么版本的Rails?Coz直到2.3.2 form_for没有返回值

<% form_for(@review) do |f| %>

请注意开头缺少"="!

我的解决方法是在结束前包含提交按钮,并使该按钮不显示。

  <%= submit_tag('',style: 'width:0;height:0;display:none;') %>
<% end %>

这将结束标记放在我需要的地方。

相关内容

  • 没有找到相关文章

最新更新