【发布时间】:2020-01-09 06:29:39
【问题描述】:
我正在尝试创建一个“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?
【问题讨论】:
-
你可以试试 gem github.com/ruby-rdf/json-ld
-
“不能遍历
@posts”是什么意思?你有错误吗?什么都没有输出?我们需要一个更好的“不能”的例子。 -
视图中没有执行ruby,我估计是因为
:plain的使用。我认为您在下面的评论很聪明,您可以在控制器中迭代并存储此操作,然后从视图中访问它。
标签: ruby-on-rails ruby haml json-ld