# «»}>

Я пытаюсь создать систему "просто щелкните свое имя для входа" с помощью auth_logic. В моей модели пользователя есть адрес электронной почты и поле имени. Для входа в систему я просто делаю:

UserSession.create(@user, true)

К сожалению, это не приводит к созданию сеанса. Используя отладчик, я нашел это сообщение:

#""}>

В моей пользовательской модели всего одна строка:

acts_as_authentic

В строке пользовательского сеанса есть это, которое я где-то нашел. Я не уверен, что он делает, и я пробовал с и без:

class UserSession < Authlogic::Session::Base
  def to_key
     new_record? ? nil : [ self.send(self.class.primary_key) ]
  end
end

База данных (я также не уверен, нужна ли эта таблица user_sessions):

create_table "sessions", :force => true do |t|
  t.string   "session_id", :null => false
  t.text     "data"
  t.datetime "created_at"
  t.datetime "updated_at"
end

add_index "sessions", ["session_id"], :name => "index_sessions_on_session_id"
add_index "sessions", ["updated_at"], :name => "index_sessions_on_updated_at"

create_table "user_sessions", :force => true do |t|
  t.datetime "created_at"
  t.datetime "updated_at"
end

create_table "users", :force => true do |t|
  t.datetime "created_at"
  t.datetime "updated_at"
  t.string   "persistence_token"
  t.string   "email"
  t.string   "name"
end

Я использую Rails 3.0.9 и мои Gemfile говорит (я пробовал как обычный, так и github authlogic gem):

gem 'rails', '3.0.9'
gem 'sqlite3'
gem "authlogic" #, :git => 'git://github.com/odorcicd/authlogic.git', :branch => 'rails3'

Здесь остальной исходный код.

У меня была эта проблема несколько дней назад в аналогичном проекте, и она "просто ушел "в какой-то момент. Я просто не помню как.

Есть идеи? Это сводит меня с ума ...

7
задан Sjors Provoost 10 July 2011 в 03:07
поделиться