【发布时间】:2014-06-11 09:31:38
【问题描述】:
有没有办法从控制器的方法中读取(扫描)所有实例变量?
例如:
我将在控制器中定义一些实例变量,无论是索引还是显示或自定义方法。我想从一个地方知道(获取)所有实例变量值。
class TestClass
def t1
@v1 = "test"
end
def t2
@v2 = "test1"
end
end
TestClass.instance_variables
=> []
tc = TestClass.new
tc.t1
tc.instance_variable_names
=> ["@v1"]
上面的代码适用于具有自定义方法而不是默认方法(索引、显示等)的类。
Rails.env
=> "development"
u = UsersController.new
=> #<UsersController:0x00000004233990 @_routes=nil, @_action_has_layout=true, @_headers={"Content-Type"=>"text/html"}, @_status=200, @_request=nil, @_response=nil>
1.9.3p448 :109 > u.index
NoMethodError: undefined method `env' for nil:NilClass
【问题讨论】:
标签: ruby-on-rails instance-variables