1

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

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

include Adauth::Rails::ModelBridge

它定义了新的AdauthMappingsAdauthSearchField映射等。

我遇到的问题是我的这一行sessions_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'

有没有人遇到过这个?

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

谢谢

PS我试图用 标记它adauth,希望让它更加集中,但显然该标记不存在并且我无法创建它。

4

1 回答 1

2

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

您需要将方法名称从 return_and_create_with_adauth 更改为 return_and_create_from_adauth。更正将是:

analyst = Analyst.return_and_create_from_adauth(ldap_user)

这是新模型的链接:

https://github.com/Arcath/Adauth/blob/master/lib/adauth/rails/model_bridge.rb

于 2013-11-26T21:55:25.720 回答