【问题标题】:Sytax error - unexpected keyword_ensure, expecting keyword_end语法错误 - 意外的keyword_end,需要keyword_end
【发布时间】:2015-10-27 03:15:58
【问题描述】:

谁能发现我为什么会出错?它似乎是最后一个标签,但删除它不是解决方案。

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>

【问题讨论】:

  • 你的 rails form_for 标签没有 end 标签?你有它在一个 html 评论但是 erb 将在服务器上处理首先删除此代码&lt;!-- &lt;%= form_for :question, url: '/questions', html: {class: 'form-horizontal'} do%&gt; --&gt;

标签: ruby-on-rails erb


【解决方案1】:

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

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

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

请记住,ERB 对 HTML 一无所知,因此将 ERB 代码放入 HTML cmets 并不会阻止它运行。如果您执行&lt;!-- &lt;%= "foo" %&gt; --&gt;,它将呈现&lt;!-- foo --&gt;

如果要注释掉ERb代码,请将开始标签替换为&lt;%#

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

如果您的区块有对应的&lt;% end %&gt;,请不要忘记也将其注释掉:

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

【讨论】:

    【解决方案2】:

    您正在以 html 方式注释掉 form_for,但实际上并没有将其注释掉。您的页面正在寻找 但没有找到。

    如果您想将 form_for 注释掉,您需要这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 2015-04-02
      相关资源
      最近更新 更多