0

免責事項:私はまだ一般的にウェブ開発に非常に慣れていないので、これがひどい質問であるならば申し訳ありません。

HTMLのすべてが行ごとに評価されるのはなぜですか?HTMLにスローするコード(スクリプト?)では、次のように1行ごとにその言語にキャストする必要があることに気付きました。

<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>

しかし、なぜ次のようなスクリプトを評価できないのでしょうか。

<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>

これを可能にするために、開発がそれほど簡単になりませんか?私にとって、これは非常に理にかなっていますが、おそらく正当な理由で、このように行われていません。私がかなりのコード(この場合はRuby)を書いているのであれば、私は最初と最後にすべての行をキャストすることの大ファンではありません。

HTMLに各行をキャストしてHTMLオブジェクトとして評価させているようですが、すべての行(または他の構文-実際にはセミコロンを使用している可能性があります)が新しい部分であると想定することはできません評価するスクリプトの?

私が求めているのは、なぜコードのブロックがこのように評価され、なぜそれがより効率的にならないのかということだと思います。

4

1 に答える 1

-1

できますが、<%= %>タグが行うすべてのことを行う必要があります。

Ruby の構文についてはよくわかりませんが、基本的には次のようなタグです。

<%= 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...
于 2012-11-04T16:24:25.000 に答える