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