Using saved object in same controller

Hi, I’m having a bit of an IF-statement-problem that produces a
NoMethodError if it’s included in my method, although there is a
corresponding column in my table. What I want to do is check if an
record exists, or else I would like to create a new one based on
previously defined variables in my method.

def ait
@country = ‘Some place warm’
@location = Location.find_by_adress(@requested_adress)
if @location = nil
@new_location =
@new_location.adress = @requested_adress = @hostname
@location = @location_ip
render :text =>

Without the if-statement, it all works fine but when it’s included I

NoMethodError in TestsController#cached_hostname_reaction
You have a nil object when you didn’t expect it!
The error occurred while evaluating

It seems to me that I’m missing some fundamental Ruby-aspect, but I
can’t figure out what…

Many thanks!

Got it, by rewriting the if-statement like this:

if Location.find_by_adress(@requested_adress)
@location = Location.find_by_adress(@requested_adress)
@location =
@location.adress = @requested_adress = @hostname

Is there a more elegant way to do it?

if @location.nil?

not if @location = nil

On Jan 15, 2008 1:21 PM, Gu stav [email protected]

if @location = nil
Posted via

Ryan B.

Feel free to add me to MSN and/or GTalk as this email.