コントローラー内のすべてのインスタンス変数「@anything」をループするにはどうすればよいですか? 1つをループしたくありません。それらをコレクションとしてループしたいのです。私のコントローラーメソッドが定義するものにスコープするのが理想的です。
質問する
2263 次
1 に答える
2
instance_variables
andinstance_variable_get
を次のように使用できます。
@foo = 'Foo'
@bar = 'Bar'
instance_variables # => [:@foo, :@bar]
instance_variables.map(&method(:instance_variable_get))
# => ['Foo, 'Bar']
私のコントローラーメソッドが定義するものにスコープするのが理想的です。
インスタンス変数は、メソッドではなくインスタンスにスコープされます。そのため、インスタンス変数と呼ばれます。そして、それらはメソッドによって定義されていません。実際、それらはまったく定義されていません。最初に割り当てられたときに出現するだけです。
于 2012-10-18T16:25:11.407 に答える