I would like to add a couple of instance variables to my controller, since the variables in question are required from within more than one action's view. However, the below example does not work as I would expect.

```
class ExampleController < ApplicationController
  @var1 = "Cheese"
  @var2 = "Tomato"

  def show_pizza_topping
    # What I want is the above instance vars from within the view here
  end

  def show_sandwich_filling
    # What I want is the above instance vars from within the view here
  end
end

```

As I understand it, Rails takes the instance variables from the controller and makes them available in the view. If I assign the same variables within the action methods, it works fine - but I don't want to do it twice. Why does my way not work?

*(Note: this is a bit of a rubbish example, but I hope it makes sense)*

EDIT: I have found the answer to this question here: [When do Ruby instance variables get set?](https://stackoverflow.com/questions/826734/when-do-ruby-instance-variables-get-set)

EDIT 2: when is the best time to use filters such as before\_filter and the initialize method?