访问rails中lib文件夹中的实例变量

时间:2012-10-04 16:16:45

标签: ruby-on-rails ruby

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

# 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  

这不会打印任何内容。我可以将值传递给方法,但我想知道没有它可以做到这一点吗?

1 个答案:

答案 0 :(得分: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