Согласно документации по rails API: возвращаемая часть останавливает выполнение чего-либо еще.Другими словами, если бы у вас было ниже, текст никогда не будет напечатан из-за оператора возврата.
def go_home
redirect_to(:action => "home") and return
puts "This will never print"
end
В следующем примере and return
вызывается только if monkeys.nil?
верно.
def do_something
redirect_to(:action => "elsewhere") and return if monkeys.nil?
render :action => "overthere" # won't be called if monkeys is nil
end
от: http://api.rubyonrails.org/classes/ActionController/Base.html