首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails Sorcery Gem间歇未定义方法异常

Rails Sorcery Gem间歇未定义方法异常
EN

Stack Overflow用户
提问于 2014-08-07 15:53:39
回答 1查看 220关注 0票数 1

我使用巫术 gem (版本0.8.6)对Rails 4.0.4应用程序中的Company记录进行身份验证。

身份验证流程运行良好,但在尝试使用Sorcery的子模块-- :reset_password:user_activation时,我遇到了一些问题。Rails在调用Company记录(Company record,@company)实例中在Sorcery子模块中定义的实例方法时抛出@company异常:

这个问题存在intermittently,我无法以任何逻辑的方式重现。1%的时间@company会像它所期望的那样处理这个方法,而其他99%的时间则不会。

在上面的屏幕中,我尝试调用deliver_reset_password_instructions!,这是在password.rb中定义的。

我的魔法缩写(config/initializers/sorcery.rb)包含:Rails.application.config.sorcery.submodules = [:reset_password, :user_activation]config.user_class = "Company"

我的公司模型(app/models/company.rb)包含authenticates_with_sorcery!,如果我正确的话,它应该包括这些子模块,并使用在任何配置子模块中定义的方法扩展模型。

值得一提的是,send_activation_success_email!和在activation.rb中定义的所有其他实例方法都会发生同样的行为(我不直接调用它,但在成功的公司创建时,巫术只将其称为1% )。

与此斗争了大约两天,已经没有想法了。

任何帮助都是非常感谢的!

更新

  1. 我注意到它似乎起作用了(@company响应子模块定义的实例方法),这是我离开计算机几个小时后回来的第一次。它将继续工作,直到Rails服务器重新启动。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-08 10:20:10

我发现问题了!

我找到了!1.5天后。

在我的rails_admin初始化器中,我有以下几行:

代码语言:javascript
复制
Rails.application.eager_load!
config.included_models = ActiveRecord::Base.descendants.map!(&:name)

解决所描述的问题: sferik/rails_admin#1697

显然这和巫术玩得不太好。

现在一切都好了。

更多信息:GitHub问题

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25186949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档