HTML脚本评估

HTML脚本评估,html,ruby-on-rails,Html,Ruby On Rails,免责声明:总的来说,我对web开发还很陌生,所以如果这是一个糟糕的问题,我很抱歉 为什么HTML中的所有内容都是逐行计算的?我注意到,我放入HTML中的任何代码(脚本?)都要求我在每一行将其转换为其语言,如下所示: <div class = "row"> <div class = "span6 offset3"> <%= form_for(@user) do |f| %> <%= f.label :nam

免责声明:总的来说,我对web开发还很陌生,所以如果这是一个糟糕的问题,我很抱歉

为什么HTML中的所有内容都是逐行计算的?我注意到,我放入HTML中的任何代码(脚本?)都要求我在每一行将其转换为其语言,如下所示:

<div class = "row">
    <div class = "span6 offset3">
        <%= form_for(@user) do |f| %>

            <%= f.label :name %>
            <%= f.text_field :name %>

            <%= f.label :email %>
            <%= f.text_field :email %>

            <%= f.label :password %>
            <%= f.text_field :password %>

            <%= f.label :password_confirmation, "Confirmation" %>
            <%= f.text_field :password_confirmation %>

            <%= f.submit "Create My Account", :class => "btn btn-large btn-primary" %>

        <% end %>
    </div>
</div>

“btn btn大型btn主节点”%>
但是为什么它不能像这样评估脚本:

<div class = "row">
    <div class = "span6 offset3">
        <%= form_for(@user) do |f|

            f.label :name
            f.text_field :name

            f.label :email
            f.text_field :email

            f.label :password
            f.text_field :password

            f.label :password_confirmation, "Confirmation"
            f.text_field :password_confirmation

            f.submit "Create My Account", :class => "btn btn-large btn-primary"

        end %>
    </div>
</div>
<%= f.label :name %>

“btn btn大型btn主节点”
结束%>
考虑到这一点,开发会不会变得简单得多?对我来说,这更有意义,但它不是这样做的,可能是有一个很好的理由。如果我写的代码相当多(在本例中是Ruby),那么我就不太喜欢在开始和结束时把每一行都写出来

我知道我让HTML通过强制转换将每一行作为HTML对象进行求值,但是不可能让它假设每一行(或者一些其他语法-可能实际上使用分号)都是一段新的脚本来求值吗


我想我要问的是,为什么代码块会以这种方式计算,为什么没有提高效率?

你可以,但你必须做
标记所做的一切

我不确定Ruby中的语法,但基本上是这样的标记:

<div class = "row">
    <div class = "span6 offset3">
        <%= form_for(@user) do |f|

            f.label :name
            f.text_field :name

            f.label :email
            f.text_field :email

            f.label :password
            f.text_field :password

            f.label :password_confirmation, "Confirmation"
            f.text_field :password_confirmation

            f.submit "Create My Account", :class => "btn btn-large btn-primary"

        end %>
    </div>
</div>
<%= f.label :name %>

是否输出到页面,即以下内容的快捷方式:

<% response.write(f.label :name) %>

因此,如果添加用于执行输出的命令,则可以在单个脚本标记内执行此操作:

<%= form_for(@user) do |f|

  response.write(f.label :name)
  response.write(f.text_field :name)
  et.c...

因此,我基本上仍然在使用response.write对每一行进行强制转换。我只是想知道为什么对中的任何内容进行强制转换并用\n或甚至是一个“;”分隔不是隐含的。