У меня был официальный плагин authlogic, отлично работающий на Rails 2.3.5. Я преобразовал свое приложение в Rails 3.0.1 и теперь у меня возникли некоторые проблемы.
Я включил в свой gemfile следующий самоцвет
gem 'authlogic', :git => 'git://github.com/odorcicd/authlogic.git', :branch => 'rails3'
Когда пользователь входит в систему, сеанс сохраняется. При вызове этого пользовательского сеанса возвращаемое значение равно nil. UserSession.find returns a nil value
, поэтому я не могу назначить current_user.
sessions_controller.rb
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save!
flash[:notice] = 'Login successful'
redirect_to root_url
else
render :action => 'new'
end
end
application_controller.rb
helper_method :current_user, :current_user_session
private
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
Когда пользователь входит в систему, уведомление о флэш-памяти возвращается с 'Login sucessful'
, но current_user не установлен. Я также попробовал это с официальным плагином authlogic, и ничего не изменилось. Я что-то здесь упускаю?
Спасибо!
Тим