2013-01-03 5 views
2

content_tag을 HAML과 함께 사용하는 방법을 찾는 데 어려움이 있습니다. 아직도 내가 구글 시도했습니다HAML에서 content_tag 사용

%div#instagrams{ instagrams: @instagrams } 

%div{ id: "instagrams", data: { instagrams: @instagrams } } do 

- haml_tag("div", id: "instagrams", data: { instagrams: @instagrams }) 

수 있지만하지 그림 : 아무 소용 나는 다음을 시도했습니다

<%= content_tag "div", id: "instagrams", data: { instagrams: @instagrams } do %> 
<% end %> 

:

나는 이런 식으로 뭔가를 할 거라고 HAML없이

, 그것. 어떤 아이디어?

#instagrams{ data: { instagrams: @instagrams.to_json } } 

HAML에서 당신이 %div을 (이 태그의 기본입니다)이 필요하지 않습니다 그래서 당신은 단지 ID를 넣을 수 있습니다 그리고 당신은 여전히 ​​data:를 정의해야

답변

4

나는 당신이 원하는 것은이 생각 HTML 속성이 아닌 데이터 속성.

또한 haml_tag 또는 form_for과 같은 레일 도우미와 같이 루비 코드 실행이 아닌 부분에 대해서는 do 블록 부분을 남겨 두어야합니다. HAML에서는 공백이 중요하므로 중첩 된 블록 구조가 암시됩니다.

haml_tag 예제의 문제점은 = 대신 -을 사용한 것일 수 있습니다. HAML에서는 이전 방법은 마크 업을 반환하지 않는 루비를 실행하지만 후자는 마크 업을 반환해야합니다.

+0

안녕하세요 앤드류, 당신의 솔루션이 효과가있었습니다. 정말 고마워! 그러나 나는 json에서 그것을 필요로했다 : #instagrams {data : {instagrams : @ instagrams.to_json}} –

+0

차갑다. 예,'@instagrams' 객체가 실제로 무엇인지에 따라 다릅니다. –

관련 문제