Ruby on rails 当我使用'ModelName.all'时,ActiveRecord没有从表中返回所有值
对于任何rails程序员来说,代码都是不言自明的 迁移代码: 控制器: 型号: 匹配视图: 该视图的输出-/blogposts/index/:Ruby on rails 当我使用'ModelName.all'时,ActiveRecord没有从表中返回所有值,ruby-on-rails,Ruby On Rails,对于任何rails程序员来说,代码都是不言自明的 迁移代码: 控制器: 型号: 匹配视图: 该视图的输出-/blogposts/index/: #<BlogPost::ActiveRecord_Relation:0x00007f440816f1e0> 在BlogPost.all的rails控制台中: Traceback (most recent call last): 1: from (irb):11 NoMethodError (undefined method
#<BlogPost::ActiveRecord_Relation:0x00007f440816f1e0>
在BlogPost.all的rails控制台中:
Traceback (most recent call last):
1: from (irb):11
NoMethodError (undefined method `all' for #<BlogPost:0x0000000004749380>)
这里的问题是:blog_posts表中已经有数据,当我在MySQL中运行select*from blog_posts时,可以查看这些数据。但在我看来,我得到了上述输出,但我希望所有记录都能返回并显示在屏幕上
我做错了什么
提示:我认为我没有遵循Rails的合理默认设置
附言:我是rails世界的新手。@all是ActiveRecord::Relation的一个实例。当您打电话时:
<%= @all %>
更新
通过重新启动Rails服务器解决了最新问题。@all是ActiveRecord::Relation的一个实例。当您打电话时:
<%= @all %>
更新
最新的问题通过重新启动Rails服务器解决了您可以使用这样的方法。
但通常您希望在调试时执行此操作。正确的方法是迭代关系。您可以使用这样的方法。
但通常您希望在调试时执行此操作。正确的方法是迭代关系。在浏览器中运行良好。但是当我在Rails控制台中运行BlogPost.all时。我得到“未定义的方法错误”。那是关于什么的?好的,告诉我你将要实现什么,因为记录在浏览器中正确显示。我什么都不想实现。我正在学习rails,我有另一个模型,当我运行ModelName.all时,它会返回所有记录,而上面的内容不会在控制台中显示。那是帖子。你能给我们看看你的博客模型吗?只需将它添加到问题中,并使用您的模型的文件名。好的,这样您的代码看起来就可以了。关于最新一期-BlogPost.all应该可以正常工作,没有任何问题。在rails控制台中调用BlogPost时会得到什么?在浏览器中运行良好。但是当我在Rails控制台中运行BlogPost.all时。我得到“未定义的方法错误”。那是关于什么的?好的,告诉我你将要实现什么,因为记录在浏览器中正确显示。我什么都不想实现。我正在学习rails,我有另一个模型,当我运行ModelName.all时,它会返回所有记录,而上面的内容不会在控制台中显示。那是帖子。你能给我们看看你的博客模型吗?只需将它添加到问题中,并使用您的模型的文件名。好的,这样您的代码看起来就可以了。关于最新一期-BlogPost.all应该可以正常工作,没有任何问题。当您在rails控制台中调用BlogPost时会得到什么?
<h1>
<%= @all %>
</h1>
#<BlogPost::ActiveRecord_Relation:0x00007f440816f1e0>
Traceback (most recent call last):
1: from (irb):11
NoMethodError (undefined method `all' for #<BlogPost:0x0000000004749380>)
<%= @all %>
<% @all.each do |blog_post| %>
<h1><%= blog_post.title %></h1>
<p><%= blog_post.content %></p>
<% end %>