未定义的方法'add_acts_as_authentic_module'

时间:2009-09-07 15:04:45

标签: ruby-on-rails oauth authlogic

我添加了代码

config.gem "authlogic-oauth", :lib => "authlogic_oauth"

到我的应用程序中的environment.rb文件并出现错误

undefined method 'add_acts_as_authentic_module' for ActiveRecord::Base::Class

有解决方案吗?

5 个答案:

答案 0 :(得分:1)

带有authlogic-openid

的rails 3.0.0.beta3上的同样问题

修复自: http://futureadapter.com/2009/11/13/authlogic-plugin-errorfix/

此代码应该在此文件中(我的路径粘贴): 〜/ .rvm /宝石/红宝石1.9.1-P378 /宝石/ authlogic-OID-1.0.4 / LIB / authlogic_openid.rb

代码:

if ActiveRecord::Base.respond_to?(:add_acts_as_authentic_module)
  ActiveRecord::Base.send(:include, AuthlogicOpenid::ActsAsAuthentic)
  Authlogic::Session::Base.send(:include, AuthlogicOpenid::Session)
end

答案 1 :(得分:0)

你是否包含了authlogic主宝石?

也许这会对你有所帮助:

http://github.com/tsechingho/authlogic_bundle/issues/unreads#issue/3

答案 2 :(得分:0)

我遇到了同样的问题,但当我删除了Authlogic的插件版本并通过environment.rb包含了gem时,它就解决了。

答案 3 :(得分:0)

我也遇到了这个错误,但上面的内容并没有为我解决。在挖掘了一些之后,事实证明我在environment.rb中指定了authlogic的v2.1.5,但在服务器上只安装了2.1.3。 rake gems:安装失败并出现相同的错误。一旦我直接安装了2.1.5 gem,一切都恢复正常。

答案 4 :(得分:0)

在Rails 3中,我在 Gemfile中的任何authlogic插件之前明确依赖authlogic '~>2.1.6' 解决了这个问题。神奇地离开了。