我正在尝试从中间人4迁移我的博客。在我的index.html.erb文件中,我有这样的代码:
<% 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中工作得很好,我可以使用不同的部分,这取决于在每个帖子的前端定义的布局属性。
但是,在中间人4中,layout属性在article.data中不再可见。
所有其他变量都在那里。到目前为止,要做到这一点,唯一的办法就是宣布这样的正面事件:
---
layout: post
l: post
title: "Foo"
date: 2012-10-22 15:14:01
categories: Bar
tags:
---使用article.data.l而不是article.data.layout。然而,这要求我重写所有的文章,这似乎是多余的。
根据布局属性,在索引页上呈现具有不同部分的项目的正确方法是什么?
发布于 2016-12-12 13:57:46
在中间人4中,layout属性被认为是option而不是data。
您应该能够使用article.options.layout或article.options[:layout]访问页面的article.options.layout属性的值。
https://stackoverflow.com/questions/41005450
复制相似问题