我正在使用Rails控制台和一些模型进行工作。我正在运行以下命令:
Model.find(:all).each do |x| p x.name end
这很好,它让我看到了特定列的所有值,但在打印出这些行后,它会打印出整个模型。
为什么会这样?我该如何停止它?
我正在使用Rails控制台和一些模型进行工作。我正在运行以下命令:
Model.find(:all).each do |x| p x.name end
这很好,它让我看到了特定列的所有值,但在打印出这些行后,它会打印出整个模型。
为什么会这样?我该如何停止它?
控制台始终打印命令的返回值。而.each
的返回值是初始数组。
因此,您需要返回所需的值:
Model.find(:all).map{ |x| x.name }
或者防止输出,返回类似于 nil 的东西:
Model.find(:all).each{ |x| p x.name }; nil