@ variables in Ruby on Rails

OneZero picture OneZero · Jan 14, 2013 · Viewed 163.3k times · Source

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?

Answer

Peter Rasmussen picture Peter Rasmussen · Jan 14, 2013

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: http://strugglingwithruby.blogspot.dk/2010/03/variables.html

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