2012-11-04 1 views
0

면책 조항 : 나는 웹 개발에 아직까지 일반 적이므로, 끔찍한 질문 인 경우 죄송합니다.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> 

그러나 왜 이런 스크립트를 평가할 수 없습니다 나는 (? 스크립트) 나는 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> 

이렇게하면 더 쉽게 개발할 수 있습니까? 나에게 이것은 훨씬 더 의미가 있지만, 좋은 방법으로 이런 식으로하지는 않을 것입니다. 내가 (Ruby의 경우) 코드의 상당 부분을 작성한다면, 시작과 끝에서 모든 라인을 캐스팅 할 엄청난 팬이 아닙니다.

나는 HTML을 캐스팅하여 HTML 객체로 각 행을 평가하도록하고 있지만 모든 행 (또는 다른 구문 - 실제로는 세미콜론을 사용할 수도 있음)을 가정한다고 생각하면 안된다. 평가할 스크립트의 새로운 부분입니까?

내가 물었던 이유는 왜 코드 블록이 이런 방식으로 평가되고 왜 더 효율적으로 만들어지지 않았는가하는 것입니다.

답변

-1

당신은 할 수 있지만, <%= %> 태그가하는 모든 일을해야합니다.

나는 루비의 구문에 대해 잘 모르겠지만, 기본적으로 이런 태그 :

<%= 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... 
+0

따라서 모든 라인에서 여전히 캐스팅 중입니다. b y는 response.write를 사용합니다. 나는 왜 <%= %> 내의 무엇이든지 암시 적으로 던져서 \ n 또는 심지어 ';'로 캐스팅되고 분리되는 이유에 대해 궁금해하고있었습니다. – RileyE