Ruby on rails 对于多帐户应用程序,具有_作用域的authlogic在Rails 3上不起作用
更新到rails 3后,authlogic无法工作,因此我使用gem'authlogic',:git=>'git://github.com/odorcicd/authlogic.git“,:branch=>rails3” 这适用于标准设置,但我有一个多帐户设置,以前我使用过_scope,因此用户只能登录到他们的帐户/子域,而不能登录到任何帐户/子域 我的应用程序控制器中的这段代码以前可以使用,但现在不能使用,因为它使用的是旧的find而不是新的arel语法Ruby on rails 对于多帐户应用程序,具有_作用域的authlogic在Rails 3上不起作用,ruby-on-rails,ruby,ruby-on-rails-3,authlogic,Ruby On Rails,Ruby,Ruby On Rails 3,Authlogic,更新到rails 3后,authlogic无法工作,因此我使用gem'authlogic',:git=>'git://github.com/odorcicd/authlogic.git“,:branch=>rails3” 这适用于标准设置,但我有一个多帐户设置,以前我使用过_scope,因此用户只能登录到他们的帐户/子域,而不能登录到任何帐户/子域 我的应用程序控制器中的这段代码以前可以使用,但现在不能使用,因为它使用的是旧的find而不是新的arel语法 def current_user_se
def current_user_session
return @current_user_session if defined?(@current_user_session)
UserSession.with_scope(:account_id => account_id) do
@current_user_session = UserSession.find
end
end
是否有任何关于rails 3的更新或找到修复程序
请帮忙
致意
Richard编辑:显然,authlogic在涉及到范围时有点崩溃。 查看此项了解详细信息,它还可以帮助您: 您是否正在使用
验证多个?我刚才遇到了一个类似的问题(我识别帐户/子域的模型称为网站
,我有一个设置@网站
的before过滤器)。为了修复它,我执行了以下操作:
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = @website.user_sessions.find
end
我将:find_options=>{:limit=>1}
添加到身份验证\u many
class Website < ActiveRecord::Base
authenticates_many :user_sessions, :find_options => { :limit => 1 }
我的当前用户会话方法如下:
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = @website.user_sessions.find
end
希望能有帮助