现在我正在使用 parse_resource gem (https://github.com/adelevie/parse_resource) 进行身份验证。我正在尝试使用 gem forum_monster (https://github.com/gitt/forum_monster) 创建一个论坛。问题是它要求用户模型是 ActiveRecord,但要使用 parse_resource,用户模型需要是 ParseUser。所以现在事情不正常。
我的攻击计划是我试图将解析身份验证抽象为 Parseuser 模型以及 ActiveRecord 的用户模型,因此 forum_monster 不会抱怨。我的问题是 current_user 由于某种原因是空白的。
我的用户模型:
class User < ActiveRecord::Base
has_many :topics, :dependent => :destroy
has_many :posts, :dependent => :destroy
end
我的 Parseuser 模型:
class Parseuser < ParseUser
end
我的应用程序控制器:
class ApplicationController < ActionController::Base
protect_from_forgery
helper_method :current_user
private
def current_user
@current_user ||= Parseuser.find(session[:user_id]) if session[:user_id]
end
end
Parseuser.find 应该在应用程序控制器中工作,因为 Parseuser.authenticate 在会话控制器中完美工作。
我检查了 session[:user_id] 并且它已正确填充,所以这也不是问题。