安装paper_trail后,从 rails 控制台获取"irb: warn: can't alias context from irb_context."



我通过在git stash之前和之后运行rails c来测试这一点。在Mavericks中的Rails 4.1上,在按照说明添加versions表并将has_paper_trail添加到三个模型之后,每当我运行rails c时,我都会得到

irb: warn: can't alias context from irb_context.

我花了一些时间谷歌没有太多的运气,有老线程谈论rspec,但我不知道这是如何相关的,因为我不使用它。知道为什么会这样吗?

RSpec用于污染提供Object顶级方法,如describecontext等。幸运的是,他们在版本3中去掉了所有的猴子补丁,现在所有这些方法的命名空间都在RSpec下。

可以通过expose_dsl_globally配置标志更改此行为。为了向后兼容,它默认为true。

当你打开控制台时,这个警告会显示出来,因为当找到rspec时,paper_trail会自动加载它的rspec helper。在您有机会调整自己的配置之前,它会调用RSpec.configure

一个可能的解决方案是paper_trail禁用自动加载,让用户在他们认为合适的时候自己加载。然而,我不知道库的内部,所以我不能保证这不会破坏其他东西。

最好!

现在在papertrail 4.0.0中修复了,这是提交

最新更新