如何将rails控制台上显示的数据导入到rails中的视图中

时间:2016-05-03 23:34:50

标签: ruby-on-rails ruby

我是rails的新手,并且无法将我在rails控制台中获得的内容显示在我的观看页面中。

在我的rails控制台中,我将输入c = Course.find(21)。 然后当我将c.scores.all放入我的控制台时,我得到了与课程模型相关联的所有分数列,其ID为21.

但是,我不能在控制器或视图中做同样的事情。我尝试输入相同的信息,但没有找到与课程/显示页面中的courses_id相关联的分数。我知道这很简单,但似乎无法让这个工作。感谢

1 个答案:

答案 0 :(得分:1)

如果没有您的控制器代码和您的观点,我只能猜测您问题的原因。

代码c.scores.all会返回ActiveRecord::Relation,而不是模型数组。

关系是延迟加载的,这意味着在您从中检索数据之前它不会查询数据库(通常是通过调用to_aeach)。这可能是您遇到问题的原因。

默认情况下,Rails控制台和irb工作在检查模式,这意味着无论何时输入表达式,Rails控制台都会自动调用该表达式的返回值inspect并打印结果。 ActiveRecord::Relation#inspect内部调用to_a从而访问数据库,因此您可以在Rails控制台中查看数据。