语法错误 - 意外 [=10th=],预期 keyword_end

Sytax error - unexpected keyword_ensure, expecting keyword_end

谁能看出我为什么会收到错误消息?它似乎是最后一个标签,但删除它不是解决方案。

问问题 enter image description here × 问一个问题

  <!-- <%= form_for :question, url: '/questions', html: {class: 'form-horizontal'} do%>  -->
      <div class="modal-body">  
        <form class="form-horizontal">
              <div class="form-group">
                <label for="inputEmail" class="col-sm-2 control-label">Email</label>
                  <div class="col-sm-10">
                    <input type="email" class="form-control" id="inputEmail" placeholder="Email" required>
                  </div>
              </div>
              <div class="form-group">
                <label for="inputQuestion" class="col-sm-2 control-label">Question</label>
                  <div class="col-sm-10">
                    <textarea class="formControl" class="form-control" id="inputQuestion" placeholder="What would you like to know?" required></textarea>
                  </div>
              </div>
              <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="submit" class="btn btn-primary">Submit</button>
              </div>
        </form>

      </div>

  </div>
</div>

您正在以 html 的方式注释掉 form_for,但实际上并没有注释掉它。您的页面正在寻找 <% end %> 但没有找到。

如果你想把 form_for 注释掉,你需要这样做:

<% #form_for :question, url: '/questions', html: {class: 'form-horizontal'} do%>

问题是你在这里打开一个 Ruby 块:

<!-- <%= form_for :question, url: '/questions', html: {class: 'form-horizontal'} do %>  -->

...但您永远不会关闭它。

请记住,ERB 对 HTML 一无所知,因此将 ERB 代码放在 HTML 注释中并不能阻止它从 运行 中获取。如果你这样做 <!-- <%= "foo" %> --> 它将呈现 <!-- foo -->.

如果要注释掉ERb代码,将起始标签替换为<%#:

<%#= form_for :question, url: '/questions', html: {class: 'form-horizontal'} do %>

如果您的区块有相应的 <% end %>,请不要忘记也将其注释掉:

<%#= form_for :question, url: '/questions', html: {class: 'form-horizontal'} do %>
  ...
<%# end %>