Vérification pour une session

Dans mon application Rails, si l'utilisateur tente de créer un nouveau compte, et a déjà une session (c'est à dire connecté), je veux afficher un message qui dit "On dirait que vous avez déjà un compte".

Pour ce faire, je suis en train de vérifier pour une session avec le code suivant:

<% if session[:user_id]? %>
<div id="error_expanation">Seems like you already have an account with us.
  <% link_to "Sign in now", login %></div>
<% end %>

Toutefois, ce code génère l'erreur suivante:

compile error
/path/to/app/views/users/_form.html.erb:17: syntax error, unexpected ';'
');@output_buffer.safe_concat('     ...
   ^
/path/to/app/views/users/_form.html.erb:42: syntax error, unexpected kENSURE, expecting $end

J'en suis sûr, est la "session[:user_id]?" qui est à l'origine du problème, parce que si je le remplace par quelque chose d'autre, si une déclaration, il fonctionne.

Une idée de ce que j'ai besoin de le corriger afin de vérifier cela? Merci!

Oh, et voici mon sessions_controller.rb si c'est nécessaire:

class SessionsController < ApplicationController

  def edit
    session[:return_to] = request.referer
  end

  def new
  end

  def create
    if user = User.authenticate(params[:email], params[:password])
      session[:user_id] = user.id
      session[:user_name] = user.name
      redirect_to admin_url
    else
      redirect_to login_url, :alert => "Invalid username /password combination"
    end
  end

  def destroy
    session[:user_id] = nil
    redirect_to admin_url, notice => "You've successfully logged out."
  end  

end
InformationsquelleAutor rottendevice | 2011-02-02