request.env not accessible in controller

Hi,

I have the simplest rails app:

my only controller says:

class MaxmindController < ApplicationController
  @ip = request
end

my index.rhtml in the views/maxmind folder says:

<%= debug @ip %>

the result of trying to view this in firefox is:

NameError in MaxmindController#index

undefined local variable or method `request' for
MaxmindController:Class

if I remove the one line from my controller and change my view code
to:

<%= debug request %>

then i get my request object nicely displayed.

Why is request available only in the view and not in the controller?
I'm running this locally under locomotive.

Thanks,

Gabor

Because you’re out of scope. @ip = request is in the class scope, and request is not available there.

Try using a before_filter.

class MaxmindController < ApplicationController
before_filter :get_ip

protected
def get_ip
@ip = request.remote_ip
end

end

Xeno Campanoli wrote: