gpt4 book ai didi

ruby-on-rails - 机车编辑器在尝试循环模型的条目时抛出 'NoMethodError'

转载 作者:数据小太阳 更新时间:2023-10-29 07:18:36 27 4
gpt4 key购买 nike

因此,我正在使用 Locomotive、Ruby on Rails CMS 及其编辑器来创建博客。在 Locomotive 后端,我制作了一个带有 slug“帖子”的模型,其中包含一个可能的博客帖子。然后,在我的 index.liquid 文件中,我试图遍历模型的内容并显示全部内容。

这是液体循环:

{% for post in contents.posts %}
{{ post.title }}
{% endfor %}

但它向我显示“/处无方法错误”、“nil:NilClass 的未定义方法 contents”。如果我从 for...in 循环中删除 .posts,则没有错误,但循环甚至不会发生一次,自然地,因为只有 contents 不能循环。

我已经阅读了文档并且代码应该可以工作。为什么它表现得好像没有数据?

2012 年 12 月 11 日更新:如果我将我的代码推送到真正的机车引擎,它会完美运行,只有编辑器会抛出此错误。我使用编辑器,因此我可以通过我的 IDE 而不是在浏览器中编辑代码。

2012 年 12 月 12 日更新:发现这不是机车编辑器的目的。您应该在制作网站时使用虚拟数据库,然后将其推送到引擎以将其与您自己的数据库一起使用。

最佳答案

  1. 也许循环表现得好像没有数据,因为后端 Rails 连接到没有数据。

如果您的内容在生产数据库中,Rails 也需要使用生产数据库。

rails server -e production

请参阅此问题中有关切换到生产环境的更多说明:Change a Rails application to production

  1. 如果“contents”为 nil,则像“.posts”这样的访问器方法将显示为无方法错误。尝试在您的模板中添加一个部分,这样您就可以处理“contents.nil?”的问题。是真的。

  2. 由于我不熟悉 Locomotive CMS,只熟悉 Rails,因此在这种情况下可以尝试另一件事:小心对模型的单数和复数引用! Rails 对这些名称非常讲究,您可能需要使用“content”而不是“contents”。

关于ruby-on-rails - 机车编辑器在尝试循环模型的条目时抛出 'NoMethodError',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13736464/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com