У меня есть легкий для вас, ребята.
Я хочу иметь раздел избранного контента, в котором текущая статья будет ИСКЛЮЧЕНА
Так что это работает с использованием Блога посредника с delete_if
:
<% blog(content).articles.delete_if{|item| item == current_article}.each do |article| %>
<%= article_content %>
<% end %>
Однако я использую прокси-серверы Middleman, поэтому у меня нет доступа к методу current_article
...
У меня есть структура YAML, которая содержит следующие фиктивные данные (среди прочего) с настройкой папки, например: data> site> caseStudy> RANDOM-ID423536.yaml (сгенерировано CMS)
Внутри каждого файла yaml
вы найдете такие вещи, как:
:id: 2k1YccJrQsKE2siSO6o6ac
:title: Heyplace
Мой 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
Мой файл шаблона содержит следующее
<%= partial(:'partials/footer', :locals => {:content => data.site.caseStudy, :title => 'See more projects'}) %>
Моя петля, которая получает контент
<% content.each do |id, this| %>
<%= partial "partials/tile" %>
<% end %>
Поэтому я думаю, мой вопрос в том, как я могу использовать delete_if
в этом случае, чтобы текущая статья не отображалась?
Я пробовал такие вещи, но безрезультатно:
<% content.delete_if{|e| e.title == content.title}.each do |id, this| %>
<%= partial "partials/tile" %>
<% end %>
Любая помощь приветствуется! Спасибо!
Решил, в итоге сделал
<% 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 %>
Предоставлено @David Litvak