Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 机车编辑器抛出';命名错误';尝试在模型上循环时';s条目_Ruby On Rails_Ruby_Liquid_Locomotivecms - Fatal编程技术网

Ruby on rails 机车编辑器抛出';命名错误';尝试在模型上循环时';s条目

Ruby on rails 机车编辑器抛出';命名错误';尝试在模型上循环时';s条目,ruby-on-rails,ruby,liquid,locomotivecms,Ruby On Rails,Ruby,Liquid,Locomotivecms,因此,我正在使用机车、RubyonRails CMS及其编辑器创建一个博客。在火车头后端,我制作了一个带有slug“posts”的模型,其中包含一个可能的博客帖子。然后,在我的index.liquid文件中,我尝试循环模型的内容并显示实体 这是液体循环: {% for post in contents.posts %} {{ post.title }} {% endfor %} 但它显示了“nomethoderror at/”,“undefined methodcontentsfor

因此,我正在使用机车、RubyonRails CMS及其编辑器创建一个博客。在火车头后端,我制作了一个带有slug“posts”的模型,其中包含一个可能的博客帖子。然后,在我的index.liquid文件中,我尝试循环模型的内容并显示实体

这是液体循环:

{% for post in contents.posts %}
    {{ post.title }}
{% endfor %}
但它显示了“nomethoderror at/”,“undefined method
contents
for nil:NilClass”。如果我从for…in循环中删除.posts,则不会出现错误,但循环自然不会发生一次,因为只有
内容
不能循环

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

更新日期:2012年12月11日:如果我把我的代码推到真正的机车引擎上,它工作得很好,只有编辑器会抛出这个错误。我使用编辑器,以便通过IDE而不是浏览器编辑代码

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

  • 可能循环的作用就像没有数据一样,因为Rails连接到的后端没有数据 如果您的内容在生产数据库中,Rails也需要使用生产数据库

    rails server -e production
    
    请参阅本问题中有关切换到生产环境的更多说明:

  • 如果“contents”为nil,那么像“.posts”这样的访问器方法将显示为无方法错误。尝试向模板中添加一个部分,以便在“contents.nil?”为真时处理问题

  • 由于我不熟悉机车CMS,只熟悉Rails,在这种情况下,还有一件事需要尝试:小心使用单数和复数引用您的模型!Rails对这些名称非常挑剔,您可能需要使用“content”而不是“contents”


  • 您在内容中得到的值为零,这就是您得到错误的原因。一旦你检查了数据的内容。一旦我检查了数据的内容?如何让我的内容出现在编辑制作的网站上?