2014-04-07 2 views
1

RoR에서 haml을 사용하려고합니다.haml에 변수를 쓰는 방법

나는 haml에서 몇 가지 문제에 직면 해있다.

샘플 코드는 다음과 같습니다.

ERB :

<p> <div class="hello"> <%= @sample.val %> <%= @hogehoge.val %> </div> </p> 

HAML :

%p 
    .hello 
    = @sample.val 
    = @hogehoge.val 

내가 ERB 파일에 한 줄을 쓸 수 있습니다.

그러나 haml에 4 줄을 써야합니다.

Haml은 너무 똑똑하고 아름다운 syntacx 구조입니다, 그렇지 않습니까?

하지만 많은 줄을 쓰는 것이 현명하지 않다고 생각합니다.

이 경우 haml에서 한 행으로 어떻게 써야합니까?

답변

0

하지만 haml에는 4 줄을 써야합니다.

네,하지만 네가 많은 문자를 저장 했으므로 네임링을 제대로하지 않으면 컴파일 타임 오류가 발생합니다. 사용 된 선에 집중하지 말고 선명도를 유지하십시오. 이 방식 HAML 일을 좋아하지 않는 경우에

%p %div.hello 
    = @sample.val + " " + @hogehoge.val 
3

, 왜 당신이 그것을 사용합니까 :이 작업을 수행 할 수 있습니다

는 생각 ? 그것이 햄의 작동 방식입니다. 당신이 뭔가 다른 것을 필요로한다면, 다른 템플릿 언어가 있습니다.

줄의 크기에 대해 불평하지만 문자의 양과 가독성, 유지 관리 가능성에 대해 생각해보십시오. 라인의 amout 귀하의 코드에서 덜 중요한 것들 중 하나입니다, 또는 당신은 한 줄에 모든 HTML 코드를 작성합니까 erb 또는 일반 HTML을 사용합니까?

하고 있지만 당신은 몇 라인을 절약 할 수있다 :

%p 
    .hello= "#{@sample.val} #{@hogehoge.val}" 

을하지만, 중요 정말? 자, 이제 1 대신에 2 줄이 생겼습니다. 충분히 똑똑합니까? 나는 당신이 haml을 사용하여 한 줄에 그것을 가질 수 있다고 생각하지 않는다. 당신이 스타일에 대한 <p>를 사용하는 경우

0
.hello 
    = @sample.val 
    = @hogehoge.val 

, 당신은 더 나은 .hello CSS 당신은 haml의 요점을 놓치고

을에 margin 속성을 두는 것 - 그것은 erb

보다 자세한입니다
관련 문제