Как l oop через записи в "application / ld + json" - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь создать " ItemList " как часть разметки структурированных данных schema.org. Для itemList я не могу перебрать @posts, чтобы программно создать список, используя :plain или :cdata.

- content_for(:header) do
  %script{:type => "application/ld+json"}
    :plain
      {
      "@context": "https://schema.org",
      "@graph":
      [
        {
          "@context": "http://schema.org",
          "@type": "ItemList",
          "itemListElement":
          [
            - @posts.each do  |post|
              {
                "@type": "ListItem",
                "position": 1,
                "item":
                  {
                  "@id": "https://example.com/post",
                  "name": "#{post.title}"
                  }
              }
          ]
        }
      ]
    }

Кто-нибудь добился успеха, или мог бы предложить альтернативу заполнить itemList?

1 Ответ

1 голос
/ 09 января 2020

За пределами представления создайте обычные Ruby га sh для ваших JSON данных.

Тогда ваш вид будет выглядеть как

%script{ :type => "application/ld+json" }
  != my_ruby_hash.to_json
...