【发布时间】:2012-11-24 01:26:14
【问题描述】:
所以我使用 Locomotive、Ruby on Rails CMS 及其编辑器来创建博客。在机车后端,我制作了一个模型,其中包含一个可以博客文章的 slug 'posts'。然后,在我的 index.liquid 文件中,我尝试遍历模型的内容并显示全部内容。
这是液体循环:
{% for post in contents.posts %}
{{ post.title }}
{% endfor %}
但它显示'NoMethod Error at /','undefined method contents for nil:NilClass'。如果我从 for...in 循环中删除 .posts ,则没有错误,但循环甚至不会发生一次,自然,因为只有 contents 不能循环。
我已阅读文档并且代码应该可以工作。为什么它表现得好像没有数据一样?
2012 年 12 月 11 日更新:如果我将代码推送到真正的机车引擎,它可以完美运行,只有编辑器会抛出此错误。我使用编辑器,所以我可以通过我的 IDE 而不是在浏览器中编辑代码。
2012 年 12 月 12 日更新:发现这不是机车编辑器的用途。您应该在制作网站时使用虚拟数据库,然后将其推送到引擎以将其与您自己的数据库一起使用。
【问题讨论】:
-
您在内容中获得 nil 值,这就是您收到错误的原因。一旦你检查了内容的数据。
-
一旦我检查了数据的内容?如何让我的内容出现在编辑制作的网站中?
标签: ruby-on-rails ruby liquid locomotivecms