Seb*_*raz 6 ruby ruby-on-rails middleman contentful
对你们我来说很轻松.
我想要一个特色内容部分,其中当前文章被排除
所以这适用于使用Middleman Blog delete_if
:
<% blog(content).articles.delete_if{|item| item == current_article}.each do |article| %>
<%= article_content %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但是我使用的是Middleman代理,因此我无法访问该current_article
方法...
我有一个YAML结构,其中包含以下模拟数据(以及其他),文件夹设置如下:data> site> caseStudy> RANDOM-ID423536.yaml(由CMS生成)
在每个yaml
文件中你会找到如下内容:
:id: 2k1YccJrQsKE2siSO6o6ac
:title: Heyplace
Run Code Online (Sandbox Code Playgroud)
我config.rb
看起来像这样
data.site.caseStudy.each do | id, this |
proxy "/cases/#{this.slug}/index.html", "/cases/cases-template.html", :locals => { this: this }, :ignore => true
end
Run Code Online (Sandbox Code Playgroud)
我的模板文件包含以下内容
<%= partial(:'partials/footer', :locals => {:content => data.site.caseStudy, :title => 'See more projects'}) %>
Run Code Online (Sandbox Code Playgroud)
我的循环获取内容
<% content.each do |id, this| %>
<%= partial "partials/tile" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
所以我想我的问题是,我如何delete_if
在这个实例中使用,以便当前的文章不被显示?
我尝试了类似的东西,但无济于事:
<% content.delete_if{|e| e.title == content.title}.each do |id, this| %>
<%= partial "partials/tile" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏!谢谢!
解决了,结束了
<% content.reject{ | id, item| item == this }.each do |id, this| %>
<%= partial "partials/tile", :locals => { :this => this, :dir => "/#{this.content_type_id.downcase}/", :secondary => 'View' } %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
由@David Litvak提供
归档时间: |
|
查看次数: |
162 次 |
最近记录: |