这是我的控制器查询:
@statuses = Status.find_by user_id: (params[:id])
这是它的输出:
Status Load (0.2ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."user_id" = 2 LIMIT 1
好奇LIMIT 1
来自哪里......
答案 0 :(得分:4)
来自文档:
find_by找到匹配某些条件的第一条记录
使用where而不是找到所有
Status.where(user_id: params[:id])
请注意,如果您遵循find_by
的逻辑,您会看到它基本上会这样做:
where(*args).limit(1).to_a.first