简体   繁体   English

未初始化的常量(名称错误)

[英]uninitialized constant (name error)

actor_drawer.rb actor_drawer.rb

def self.draw(actor)
  pdf = PDF::Writer.new
  actors.each do |actor|
    pdf.text actor.name
  end
      pdf.render
end

screenshot of actor_drawer.rb actor_drawer.rb的屏幕截图

 class ActorsController < ApplicationController
   require 'actor_drawer'

    def new
        @actor=Actor.new

    end

    def index
        @actors=Actor.all
    @actors = @actors.search(params[:search1] )if (params[:search1] ).present?
       respond_to do |format|
    format.html
    format.pdf do
      send_data ActorDrawer.draw(@actors), :filename => 'actors.pdf', :type => 'application/pdf', :disposition => 'inline'
              end
     end
    end

View: 视图:

<p><%= button_to 'PDF Format', actors_path(:pdf) %></p>

Error: 错误:

NameError in ActorsController#index uninitialized constant ActorsController::ActorDrawer......error coming at this code " send_data ActorDrawer.draw(@actors), :filename => 'actors.pdf', :type => 'application/pdf', :disposition => 'inline' "

Your actor_drawer.rb does not contain ActorDrawer class/module 您的actor_drawer.rb不包含ActorDrawer类/模块

class ActorDrawer
  def self.draw(actors)
     # all other code
  end
end

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM