0

是否可以通过我的文件夹中的方法访问instance variable在 a 中定义的访问?考虑我的 lib 文件夹中的类controllerlibDoSomething

# inside /lib folder
class DoSomething

    def fun
        puts @some_text
    end

end


class SampleController < ApplicationController

  def index
    @some_text = "ha ha ha"
    DoSomething.new().fun
  end

end  

这不会打印任何东西。我可以将值传递给方法,但我想知道没有它是否可以做到?

4

1 回答 1

2

您不能直接访问它,但可以将它传递给 DoSomething 的初始化程序:

# inside /lib folder
class DoSomething

  def initialize(some_text)
    @some_text = some_text
  end

  def fun
    puts @some_text
  end
end


class SampleController < ApplicationController

  def index
    @some_text = "ha ha ha"
    DoSomething.new(@some_text).fun
  end
end 
于 2012-10-04T16:31:20.117 回答