首页 > 解决方案 > 从 Rails 类实例获取信息

问题描述

我对 Ruby 和 Rails 很陌生,所以我确信这真的很简单,但这是我的事。

我得到request这样的:

request = Request.where(id: params[:id_request])

所以我在控制台中记录了它,它返回了我想要的,但是我如何访问其中的一些字段呢?

我试过这个:

request.required_people

这显然不起作用,但我如何从中required_people得到request

标签: ruby-on-railsruby

解决方案


当您调用 时where,您将返回项目集合而不是单个记录,即使 where 查询仅返回一个结果。由于此集合是ActiveRecord::Relation我们可以调用.first以获取集合中的第一项的实例:

request.first.required_people

但是由于您正在寻找一条记录,因此您可以使用.find它将模型的主键id作为参数:

request = Request.find(params[:id_request])

那会让你做

request.required_people

如果您真的想查看差异,请尝试同时执行 where 和 find 查询。您会看到 where 查询在返回值上有几个额外的括号。


推荐阅读