我正在尝试返回用户创建的所有组。所有组都与用户 ID 相关联。当我运行 find_by 查询时,它只返回第一个结果。有没有办法让它返回多个?提前致谢
问问题
10347 次
4 回答
28
我正在写一个单独的答案,因为我没有 50 分,因此无法评论 James Lowrey 的答案。
find_all_by 已弃用(Ruby 4.2)。
要从模型中获取活动记录列表,请执行以下操作:
Model.where(attribute_name: val)
例如,要查找 Vehicle 表中的所有记录(列名为“model_name”),使得 model_name 的值为“Audi”,请执行
@vehicles = Vehicle.where(model_name: "Audi")
您可以像这样遍历这些:
<% @vehicles.each do |vehicle| %>
于 2015-05-28T10:44:32.587 回答
14
将 find_by 更改为 find_all_by ,它将返回所有匹配的结果。
于 2012-08-21T15:03:26.027 回答
3
我认为 find_all_by 现在可能已被弃用(至少,我无法让它工作)。我相信现在推荐使用“where”功能
where("name LIKE ?","%#{search}%")
where(instructor_id: params[:choosen_instructor_id])
where ("id = ?",id_val)
万一你不知道,?和参数列表是为了防止SQL注入
于 2015-04-19T20:19:09.560 回答
0
用户类以 id 作为主键。
在 Group 类中存储为 user_id
然后查找与该用户关联的所有组可以找到。
@groups=Group.find_all_by_user_id(user_id)
于 2012-08-21T15:17:06.640 回答