ActiveRecord_Relation的未定义方法“助手”-Ruby on Rails

时间:2018-12-12 18:04:49

标签: ruby-on-rails

我创建了一个控制器,该控制器具有用于在excel中生成报告的动作,例如,我正在获取要生成报告的事件,因此我需要借助实例变量来在其实例中进行搜索事件的关系。

我了解这是一个关系问题,但我不需要为此建立模型,有什么办法可以解决我的问题?

event.rb:

class Event < ActiveRecord::Base
    has_many :assistants
end

在我的控制器中:

class Admin::ReportAssistantsByEventsController < ApplicationController
  let :ADMINISTRATOR, :all
  include Admin::ReportAssistantsByEventsHelper

  def index
    respond_to do |format|
      format.html
      format.json {render json: ReportAllAssistantsDataTable.new(view_context)}
    end
  end

  def assistants_report
    @event_report = Event.where(id: params[:id])
    respond_to do |format|
      format.xlsx {render xlsx: 'report_all_assistants', :filename => "#{@event_report.name}.xlsx", layout: false, disposition: "attachment"}
    end
  end

end

在我的牧羊人中:

def data_assistants
    assistants = @event_report.assistants
    assistants.each do |assistant|

    end
end

1 个答案:

答案 0 :(得分:1)

此:

<icon :icon="['fas', 'user']" />

正在返回@event_report = Event.where(id: params[:id]) 。如错误所示,它不响应ActiveRecord_Relation。如果您希望assistants成为@event_report,请执行以下操作:

Event

或者:

@event_report = Event.where(id: params[:id]).first