1

現在、アプリの Rails 3.1 へのアップグレードをテストしており、その一環として、adauth gem が (1.2.1 から) 2.0.0 にアップグレードされました。

adauth migration wiki に記載されている構成の変更に従いました。具体的には、私のユーザー モデル (と呼ばれるAnalyst) は次のようになりました。

include Adauth::Rails::ModelBridge

そして、 newAdauthMappingsAdauthSearchFieldmappings が定義されています。

私が抱えている問題は、私の次の行にあります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 に答える