Ruby-on-rails – @ variables in Ruby on Rails


What's the difference between @title and title? Since both of them can be variable names. Also, how do I decide which kind of variable I should use? With @ or not?

Best Solution

title is a local variable. They only exists within its scope (current block)

@title is an instance variable - and is available to all methods within the class.

You can read more here:

In Ruby on Rails - declaring your variables in your controller as instance variables (@title) makes them available to your view.