仅从Rails中的结果集中选择特定列

时间:2013-08-20 13:21:54

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我希望只从TestDescription表中选择tp_info_false和tp_info_true列,并尝试了以下内容:

使用pluck:

td=TestDescription.where(test_point_id:test_point.id).pluck(:tp_info_true,:tp_info_false).first

使用select:

td=TestDescription.where(test_point_id:test_point.id).select(:tp_info_true,:tp_info_false).first

value1 = td [0] value2 = td [1]

使用上面两种方法我得到一个错误,说“错误的参数数量(2对1)”。请更正我的问题。谢谢!

1 个答案:

答案 0 :(得分:0)

您应该使用select,例如:

TestDescription.select([:tp_info_false, :tp_info_true])

此方法只接受一个参数。如果要选择多个列,则需要将其名称放在数组中,就像我一样。