Я пытаюсь создать систему "просто щелкните свое имя для входа" с помощью 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'
Здесь остальной исходный код.
У меня была эта проблема несколько дней назад в аналогичном проекте, и она "просто ушел "в какой-то момент. Я просто не помню как.
Есть идеи? Это сводит меня с ума ...