在我的控制器中,我正在尝试获取与每个密钥相关联的所有请求,这些请求与某个用户相关联。
class PendingsController < ApplicationController
# GET /pendings
# GET /pendings.json
def index
@pending_requests = current_user.keys.reduce do |key|
key.requests.where(ready: false).to_a
end
respond_to do |format|
format.html # index.html.erb
format.json { render json: @pending_requests }
end
end
但是,在@pending_requests中,“[]:Array”有一个未定义的方法'''''
有一些用户关联的多个密钥,以及与某个密钥关联的多个请求。
在调试器中,key.requests被识别为Mongoid关系,但仍然失败。
为什么会这样?
答案 0 :(得分:1)
我猜你误解了reduce
的用法。
尝试:
@pending_requests = current_user.keys.each_with_object([]) do |key, array|
array.concat key.requests.where(ready: false).to_a
end