我通过在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
顶级方法,如describe
、context
等。幸运的是,他们在版本3中去掉了所有的猴子补丁,现在所有这些方法的命名空间都在RSpec
下。
可以通过expose_dsl_globally
配置标志更改此行为。为了向后兼容,它默认为true。
当你打开控制台时,这个警告会显示出来,因为当找到rspec时,paper_trail
会自动加载它的rspec helper。在您有机会调整自己的配置之前,它会调用RSpec.configure
。
一个可能的解决方案是paper_trail
禁用自动加载,让用户在他们认为合适的时候自己加载。然而,我不知道库的内部,所以我不能保证这不会破坏其他东西。
最好!
现在在papertrail 4.0.0
中修复了,这是提交