Can this be refactored?

1. Lazy evaluation helps you eliminating nested conditions.

<% if session[:person_id] and @person.id != session[:person_id] and not @referrals.any? {|r| r.giver_id == session[:person_id]} %> <%= render :partial => 'referrals/form' %> <% else %> <p><em>Please log in to add a referral for <%= @person.full_name %></em></p> <% end %>

2. I think this is ok in view but sometimes it is better to hide complex conditions like this in model.

Best regards, Gábor