我正在尝试使用auth_logic构建一个“只需点击你的名字登录”系统.我的用户模型有一个电子邮件和名称字段.要登录,我只需:
UserSession.create(@user,true)
不幸的是,这不会导致创建会话.使用调试器我发现此消息:
#<UserSession: {:unauthorized_record=>"<protected>"}>
我的用户模型只有一行:
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'
几天前我在一个类似的项目上遇到过这个问题,并且在某个时刻它“刚刚离开”.我只是不记得怎么样.
有任何想法吗?这让我疯狂……