【问题标题】:Rails 3: form_for missing closing </form> tagRails 3:form_for 缺少结束 </form> 标记
【发布时间】:2012-10-18 00:59:34
【问题描述】:

我在我的 Rails 应用程序的一个视图中使用了 form_for,但由于某种原因,没有生成结束标记,这将在大多数浏览器中安全处理,除了 IE 8 和更低版本。

下面是一些示例代码:

<%= form_for object, :remote => true, :url => remote_update_path, :html => {:name => "form_#{id_number}", :id => "form_#{id_number}"} do |f| %>
    <%= hidden_field_tag "field_a", object[:field_a] %>
    <ul class="class1">
        <li> <%= f.check_box :field_b, :class => "class2", :id => "b"  %> B</li>
        <li> <%= f.check_box :field_c, :class => "class2", :id => "c" %> C</li>
    </ul>
 <% end %>

由于某种原因,这不会生成&lt;% end %&gt; 所在的关闭&lt;/form&gt; 标记。 (我知道现在表单中有提交按钮,这不会影响缺少的&lt;/form&gt;。)

这是一个错误吗?还是我做错了什么?

【问题讨论】:

  • 我称之为谎言。抱歉,我知道这听起来很苛刻。 form_for 助手不会在表单标签的开头省略结尾。请向我们展示该页面的完整输出。
  • 我给出的代码是伪代码,所以我不能真正给你页面的确切输出,但我确信 标签不存在。某些浏览器(Chrome、Safari)会为我填写,但在 IE 6、7、8 中并非如此。我的整个表单都在 中,并且该 元素中没有
  • 我们不可能在没有看到真实代码的情况下调试您的问题。如果您需要我们调试您的问题,我们将需要查看您可以提供给我们的最多代码,以便在您的系统上重现该问题。

标签: ruby-on-rails ruby-on-rails-3 forms


【解决方案1】:

这几乎肯定是由于页面某处的无效 HTML 而发生的。通过validator 运行它,直到它全部通过,我敢打赌问题会消失......

【讨论】:

    【解决方案2】:

    我有同样的问题。发生在我身上是因为我没有在表单中正确关闭一个 div 标签。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签