2009-07-09 2 views
0

나는 이것이 잘못된 방법으로 접근하고 있다고 생각하는데, 쉬운 해결책을 찾지 못하는 이유입니다. 나는 Rails에 비교적 익숙하다.레일스 레이아웃의 로직?

다른 컨트롤러의 모든 공통 시각적 요소가 포함 된 레이아웃 "저장소"가 있습니다. 이 레이아웃에서는 Product 및 ProductFamily 두 모델의 데이터로 사이드 바를 동적으로 생성해야합니다. 다음과 같이 출력하고 싶습니다.

Product Family 
---- Product1 
---- Product2 

그리고 관련된 모든 기록을 계속 읽으십시오.

나는이 논리를 작성하는 곳을 어디에서부터 시작해야할지 모르겠습니다. 레이아웃에 포함됩니까? 컨트롤러에서?

제발, 올바른 방향으로 나를 가리켜 라!

답변

2

우리가보기에서 논리를 지켜야한다고 말하는 경우에는 "논리"가 아닙니다. 그것은 디스플레이의 목적을위한 단순한 반복 일 뿐이므로보기에 들어갈 것입니다. 제품 라인을지나 다음의 라인을 따라 뭔가를하십시오 :

<% @product_line.each do |product| %> 
<%= product.name %> 
<% end %> 

원하는 스타일과 링크를 모두 추가하십시오.

+0

"레이아웃"은보기를 처리하는 것과 같은 방식으로 처리 할 수 ​​있습니까? 보기에서 레코드를 반복하는 방법을 알고 있지만 해당보기는 특정 컨트롤러에 연결되어 있습니다. 제 경우에는 데이터베이스에서 생성하고 모든 페이지에서 공유해야하는 공통 요소입니다. 따라서 뷰가 아닌 "레이아웃"템플리트에 넣는 것을 선택했습니다. 여전히 같은가요? –

+0

나는 doofus, 위의 코멘트를 잊어 버려. 실험 중에 실수로 괄호를 주석 처리하여 오류가 발생하여 혼란스러워했습니다. 도와 주셔서 감사합니다! –