教材貌似有一处小错误

Published on:

第三课rails101,其中,在4-8 将表单换为 Bootstrap 提供的版型这一小节中,貌似有一处小错误。

第五个步骤:Step 5: 修改 app/views/groups/_form.html.erb

按照这个教程,会出现以下报错:

再仔细看_form.html.erb这个文件内容代码。

很明显是_form.html.erb代码最后少了一行<% end %>

加上,再刷新页面就解决问题了。

所以我们可以推测,每一行<%= %>这种代码最后都要有一个<% end %>来结尾。

但有一个奇怪的事情发生了,按照这个推理逻辑,步骤1却不适应了。

这里的步骤1不也是少了一个<% end %>结尾吗?为何这里却没有报错?

这让我对以html.erb这种后缀的文件形式产生了好奇,通过Google,我找到了官方文档如下:

HTML mixed with Ruby

内容很简短,也贴出来:

HTML.ERB is HTML mixed with Ruby, using HTML tags. All of Ruby is available for programming along with HTML.
Following is the syntax of using Ruby with HTML −

<% %>   # executes the Ruby code
<%= %>  # executes the Ruby code and displays the result

Example

<ul>
   <% @products.each do |p| %>
      <li><%=  @p.name %></li>
   <% end %>
</ul>

The output of anything in <%= %> tags is directly copied to the HTML output stream. To secure against HTML injection, use the h() function to html_escape the output
For example
<%=h @user_entered_notes %>
Please check the following link on XML Builder.

Comments

comments powered by Disqus