我在我的Formular
- 文件夹中创建了一个类lib
,该文件夹由extend
模块创建,该文件夹也分配在我的lib
- 文件夹中:
它看起来像这样: formular.rb
class Formular
extend Userfield
def self.ueberweisung
..................
pdf = Prawn::Document.new(:page_size => [width,height], :margin => 0 )
pdf.image image_path, :at => [w, height], :fit => [width,height]
create_userfield
pdf.stroke_line [w + 9.1.mm, h - 60.mm], [w + 14.2.mm, h - 65.mm]
..................
create_personenfeld
在 userfield.rb
module Userfield
def create_userfield
pdf.font("Courier", :size => 12) do
pdf.draw_text "Thanks for your help", :at => [w + 11.mm, h - 13.mm]
..........
我猜错了因为pdf
中的defined
不是def create_userfield
!
undefined local variable or method `pdf' for Formular:Class
现在我的问题是我应该在哪里提出这样的方法?所以我不必将每个变量传递给它?
感谢
答案 0 :(得分:0)
您还可以添加一个名为pdf的类变量:
attr_accessor :pdf
它将在课程的所有方法之间共享,您可以将其称为PDF格式为@pdf。
示例:
> module Animal
> def say
@word
> end
> end
> class Doge
> include Animal
> attr_accessor :word
> def initialize
> @word = 'such cool feature'
> end
> end
> dog = Doge.new
> dog.say
=> 'such cool feature'