Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 对于多帐户应用程序,具有_作用域的authlogic在Rails 3上不起作用_Ruby On Rails_Ruby_Ruby On Rails 3_Authlogic - Fatal编程技术网

Ruby on rails 对于多帐户应用程序,具有_作用域的authlogic在Rails 3上不起作用

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

更新到rails 3后,authlogic无法工作,因此我使用gem'authlogic',:git=>'git://github.com/odorcicd/authlogic.git“,:branch=>rails3”

这适用于标准设置,但我有一个多帐户设置,以前我使用过_scope,因此用户只能登录到他们的帐户/子域,而不能登录到任何帐户/子域

我的应用程序控制器中的这段代码以前可以使用,但现在不能使用,因为它使用的是旧的find而不是新的arel语法

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
希望能有帮助