是否可以通过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
这不会打印任何内容。我可以将值传递给方法,但我想知道没有它可以做到这一点吗?
答案 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