2010-07-20 4 views
0

.html.erb 파일에는 표시 할 정보가 많습니다. 나는 간단한 이것을 달성하고있다 : (사용 청사진 CSS) 나는 정보 부분을 렌더링 할 몇 가지 함수를 호출 할 수 있습니다 나는 그것을 바로 설명자 (리터럴 문자열을 전달 할 수 있도록레일스의 HTML 복제 줄이기 방법

<% for event in @user.events %> 
<div class="span-5 border">Descriptor:</div> <div class="span-5 last"><%=h event.foo%></div><br/> 
<% end %> 

가 어떻게 그것을 만들 수 있습니다) 및 이벤트 방법 (이 경우 "foo")을 지정합니다.

저는 레일스를 처음 접했고 부분 렌더링을 사용하여이 작업을 수행 할 수 있다고 생각하지만 완전히 확신 할 수는 없습니다.

감사

답변

1
render :partial => 'event', :collection => @user.events, :locals => {:descriptor => 'descriptor', :method => 'foo'} 

당신이 레일의 최신 버전을 사용중인 경우에는이 속기 버전은 또한 작동합니다

render @user.events, :locals => {:descriptor => 'descriptor', :method => 'foo'} 

당신의 부분 당신이 사용할 수있는

<div class="span-5 border"><%= descriptor -%></div> <div class="span-5 last"><%=h event.send(method) %></div><br/> 
+0

같은 파일 이름에 접두사 부분 지문을 '_'저장 어떤 모습 _event.erb 것인가? – Reti

+0

안녕하세요. 불완전한 설명을 드려 죄송합니다. 답변을 수정했습니다. 이 작업은 가능하지만 알 수없는 경우 알려주십시오. – mark

+0

지금까지 도움을 주셔서 감사합니다. '<% for event in @> 아래에있는 '<% = render @ user.events, : locals => {: descriptor => '설명자', : method => 'foo'} %> ' ' user.events %>'와 올바른 부분에서 말한 부분이 있지만 이제는 '설명자'가 정의되지 않았습니다. 나는 당신이 제공 한 다른 렌더링도 시도했지만 이벤트는 정의되지 않았다. 무슨 일이야? – Reti

0

파셜에서 . 코드 DRY를 만드는 이점이 있습니다. 특정 div를 Ajax 콜백으로 대체 할 수 있습니다. _test.rhtml

render :partial => 'test', :layout => false 
관련 문제