Ruby on rails 3.1 adauth 2.0.0与Rails 3.1的错误

Ruby on rails 3.1 adauth 2.0.0与Rails 3.1的错误,ruby-on-rails-3.1,Ruby On Rails 3.1,我目前正在为我的应用程序测试Rails 3.1的升级,作为升级的一部分,我的adauth gem升级到了2.0.0(从1.2.1) 我遵循了adauth迁移wiki中提到的配置更改。具体地说,我的用户模型(称为Analyst)现在有: include Adauth::Rails::ModelBridge 它定义了新的AdauthMappings和AdauthSearchField映射等 我遇到的问题是我的会话(u controller#create中的这一行: analyst = Analys

我目前正在为我的应用程序测试Rails 3.1的升级,作为升级的一部分,我的adauth gem升级到了2.0.0(从1.2.1)

我遵循了adauth迁移wiki中提到的配置更改。具体地说,我的用户模型(称为
Analyst
)现在有:

include Adauth::Rails::ModelBridge
它定义了新的
AdauthMappings
AdauthSearchField
映射等

我遇到的问题是我的
会话(u controller#create
中的这一行:

analyst = Analyst.return_and_create_with_adauth(ldap_user)
这与:

Following are details of the error: 
Message:undefined method `return_and_create_with_adauth' for #<Class:0x0000000cc41dd0>

Stack Trace: /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.1.12/lib/active_record/base.rb:1099:in `method_missing' 
/apps/automatix/trunk/automatix/app/controllers/sessions_controller.rb:13:in `create' 
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.12/lib/action_controller/metal/implicit_render.rb:4:in `send_action' 
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.12/lib/abstract_controller/base.rb:167:in `process_action' 
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.12/lib/action_controller/metal/rendering.rb:10:in `process_action'
以下是错误的详细信息:
消息:未定义的方法“return\u和\u create\u with\u adauth”用于#
堆栈跟踪:/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.1.12/lib/active\u record/base.rb:1099:in'method\u missing'
/apps/automatix/trunk/automatix/app/controllers/sessions\u controller.rb:13:in'create'
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.12/lib/action\u controller/metal/implicit\u render.rb:4:in'send\u action'
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.12/lib/abstract\u controller/base.rb:167:在“进程\u操作”中
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.12/lib/action\u controller/metal/rendering.rb:10:in'process\u action'
有人遇到过这种情况吗

当然,我不必迁移到2.0.0,降级到1.2.1也可以。。但这只是出于好奇

谢谢


另外,我试着用
adauth
来标记它,希望能让它更专注,但显然这个标记不存在,我无法创建它。

我也遇到了同样的问题,在检查代码后,在1.2.1和2.0.X之间有一点变化

您需要将方法名称从return_和create_with_adauth更改为return_和create_from_adauth。更正如下:

analyst = Analyst.return_and_create_from_adauth(ldap_user)
以下是新模型的链接: