복붙노트

[RUBY-ON-RAILS] 차이 - %> 및 %> 레일 [중복]

RUBY-ON-RAILS

차이 - %> 및 %> 레일 [중복]

좀 레일 자습서를 시작하고보기 코드 블록의 일부처럼 것으로 나타났습니다

<h1><%= @subject.name -%></h1>

다른 코드 블록처럼

<h1><%= @subject.name %></h1>

%> 및 %> -의 차이점은 무엇입니까

당신이 좋은 구문 참조 알고 있다면 당신은, 그 또한 도움이 될 것입니다 나를 가리킬 수 있습니다.

해결법

  1. ==============================

    1.여분의 대시 닫는 태그 후 ERB 출력하지 바꿈을한다. 이 같은이있는 경우가 귀하의 예제에 차이는 없지만 :

    여분의 대시 닫는 태그 후 ERB 출력하지 바꿈을한다. 이 같은이있는 경우가 귀하의 예제에 차이는 없지만 :

    <div>
      <% if true -%>
      Hi
      <% end -%>
    </div>
    

    그것은 생산하고 있습니다 :

    <div>
      Hi
    </div>
    

    하지이 :

    <div>
    
      Hi
    
    </div>
    
  2. ==============================

    2.% 전에> 더 이상 필요하고, 탈락한다 - 나는 확신합니다.

    % 전에> 더 이상 필요하고, 탈락한다 - 나는 확신합니다.

    > %> 또는 % - 크롬에 적어도, 생성 된 HTML을 사용하여 동일한 보인다.

  3. ==============================

    3.당신이 ERB보다는 HAML를 사용하는 경우 당신은 당신의 태그 후보다 작거나 큰 기호와 비슷한 작업을 수행 할 수 있습니다.

    당신이 ERB보다는 HAML를 사용하는 경우 당신은 당신의 태그 후보다 작거나 큰 기호와 비슷한 작업을 수행 할 수 있습니다.

    > 태그 주위의 공백을 제거하고 <그 안에 공백을 제거합니다.

    .float-left<
      %p
        Lorem ipsum dolor sit amet
    

    하는 컴파일 :

    <div class="float-left"><p>
      Lorem ipsum dolor sit amet
    </p></div>
    

    과…

    %left_tag
    %inside>
    %right_tag
    

    하는 컴파일 :

    <left_tag /><inside /><right_tag />
    

    당신이 HAML을 사용하지 않는 경우 그것은 확실히 체크 아웃 가치가있다.

  4. ==============================

    4.업데이트 :이 대답은 잘못, https://stackoverflow.com/a/25626629/895245를 대신 참조하십시오.

    업데이트 :이 대답은 잘못, https://stackoverflow.com/a/25626629/895245를 대신 참조하십시오.

    루비 2.1 (반드시 레일 포함)으로,이 - 한 뒤에 줄 바꿈을 제거합니다 :

    예를 들면 :

    require 'erb'
    ERB.new("<%= 'a' %>\nb").result              == "a\nb"  or raise
    begin ERB.new("<%= 'a' -%>\nb").result; rescue SyntaxError ; else raise; end
    ERB.new("<%= 'a'  %>\nb"  , nil, '-').result == "a\nb"  or raise
    ERB.new("<%= 'a' -%>\nb"  , nil, '-').result == 'ab'    or raise
    ERB.new("<%= 'a' -%> \nb" , nil, '-').result == "a \nb" or raise
    ERB.new("<%= 'a' -%>\n b" , nil, '-').result == 'a b'   or raise
    ERB.new("<%= 'a' -%>\n\nb", nil, '-').result == "a\nb"  or raise
    

    문서 : http://ruby-doc.org/stdlib-2.1.1/libdoc/erb/rdoc/ERB.html

    4.1 http://api.rubyonrails.org/classes/ActionView/Base.html에서 문서이, 그리고이 나타납니다에 레일 :

    그러나, 순수 ERB하지 않는 동안, 그래서 다른 차이가있을 수 있습니다 설명 된대로 후행 공백을 제거 않습니다 4.1 레일.

    또한, 기록으로 선두 줄 바꿈이 제거되지 않습니다 : 그것은 문서의 버그가있을 수 있습니다. https://github.com/rails/rails/issues/16766 :에 문제 개설

  5. from https://stackoverflow.com/questions/998979/difference-between-and-in-rails by cc-by-sa and MIT license