Evaluating rubycode after redirect

Hi,

there is somthing, that I do not understand.

class MyController < ApplicationController

def index

end

def my_def
redirect_to :action=> “index” unless params[:id]

my_model = MyModel.find(params[:id])
...

end
end

when I try to call “my_controller/my_def” without an id in y browser,
then the find-statement will is evaluated :frowning: why?!?

thanks Guido

when I try to call “my_controller/my_def” without an id in y browser,
then the find-statement will is evaluated :frowning: why?!?

thanks Guido

because redirect_to is not a return… it’s a method call… use the
following form:

def my_def
if params[:id]
my_model = MyModel.find params[:id]
else
redirect_to :action => “index”
end
end