今回の学び

インスタンス変数とローカル変数について

インスタンス変数を使用する際には、

@test = Test.new

といったような形にするが、

これをすることによってどうなるか?

ローカル変数は

test = Test.new

のような形になる。

 

def create

@test = Test.new

end

def create

test = Test.new

end

 

の違いは、createアクションの中でしか使えないのが

test = Test.new

createアクション以外でも使用できるのが

@test = Test.new

となる。

例えば、コントローラーのcreateアクションを行う際に、Test.newをViewファイルで使用する際には、ローカル変数のtestでは❌

インスタンス変数である@testを使用する必要がある。

 

なので、そのアクション内だけでしか、その変数を使用しないのならば問題ないが、そのアクション外でも(他のファイルや、部分テンプレートにて使用する際など)使用するのであれば、インスタンス変数として設定しておく必要がある。