2016-12-06 12 views
0

나는 다음과 같은 코드를 가지고 내 index.html.erb 파일에서 중매인 (4)에서 내 블로그를 마이그레이션하는 것을 시도하고있다 :중개인 4의 기사 레이아웃 데이터 속성에 액세스하는 방법은 무엇입니까?

<% page_articles.each_with_index do |article, i| %> 
    <% if article.data.layout == 'post' %> 
     <%= partial "post", :locals => { :article => article} %> 
    <% elsif article.data.layout == 'micro' %> 
     <%= partial "micro", :locals => { :article => article} %> 
    <% end %> 
<% end %> 

이것은 중매인 3에서 잘 작동하고 나는 다른 부분이에 따라 사용할 수 있습니다 레이아웃 속성은 각 게시물의 앞부분에 정의되어 있습니다.

그러나 Middleman 4에서는 layout 속성이 article.data에 더 이상 표시되지 않습니다.

다른 모든 변수가 있습니다. 지금까지이 일을 할 수있는 유일한 방법은 다음과 같이 frontmatter 선언하는 것입니다 :

--- 
layout: post 
l: post 
title: "Foo" 
date: 2012-10-22 15:14:01 
categories: Bar 
tags: 
--- 

그리고 article.data.l보다는 article.data.layout를 사용합니다. 그러나 이것은 모든 기사를 다시 작성해야하며 중복 된 것처럼 보입니다.

레이아웃 속성에 따라 서로 다른 부분으로 색인 페이지에서 기사를 렌더링하는 올바른 방법은 무엇입니까?

답변

1

중문에서는 layout 속성은 data이 아닌 option으로 간주됩니다.

article.options.layout 또는 아마도 article.options[:layout]을 사용하여 페이지의 layout 속성 값에 액세스 할 수 있어야합니다.

+0

좋아요! 고맙습니다. 두 번째 옵션은'article.options [: layout]' –