0

在我的控制器中,我试图获取与每个键相关联的所有请求,这些请求与某个用户相关联。

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 有一个未定义的方法‘requests’”

有多个键与某个用户关联,多个请求与某个键关联。

在调试器中,key.requests 被识别为 Mongoid 关系,但仍然失败。

为什么是这样?

4

1 回答 1

1

我猜你误解了reduce用法。尝试:

@pending_requests = current_user.keys.each_with_object([]) do |key, array|
  array.concat key.requests.where(ready: false).to_a
end
于 2012-12-03T19:50:13.513 回答