A typical rails controller might do something like this:
class FoosController < ApplicationController
def index
@foos = Foo.all
end
end
I understand rails well enough to know that @foos will return an array of Foo objects, but that @foos itself is an instance variable.
So which object does the instance variable belong to? Would it be an instance of the FoosController class? Is a different instance of this object created every time I access the index page? What about if I access the show page, where a new variable @foo is introduced:
def show
@foo = Foo.find(params[:id])
end
Does this variable belong to the same object that @foos belongs to?
FoosControllerthat’s processing the current request.indexisn’t called,@fooswon’t be initialized, There is no@foosinstance variable when theshowaction is hit in the code you show1.1 If you called
indexfromshow, then@fooswould be initialized and available on the page. Not that you should do this, because that’s confusing concerns.