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?
FoosController
that's processing the current request.index
isn't called, @foos
won't be initialized, There is no @foos
instance variable when the show
action is hit in the code you show1.1If you called index
from show
, then @foos
would be initialized and available on the page. Not that you should do this, because that's confusing concerns.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With