1

好的,所以我正在使用shoulda gem向应用程序添加一些测试,但遇到了错误

undefined method `allow_value'

查看 gem,我可以看到这个 allow_value 方法是在 gem 的较晚日期,所以是时候更新了。

我运行了一个全球捆绑更新,到目前为止一切顺利。但是再次运行测试同样的错误。

所以我捆绑过时并得到以下内容:

Outdated gems included in the bundle:
  * actionmailer (3.2.13 > 3.2.12)
  * actionpack (3.2.13 > 3.2.12)
  * activemodel (3.2.13 > 3.2.12)
  * activerecord (3.2.13 > 3.2.12)
  * activeresource (3.2.13 > 3.2.12)
  * activesupport (3.2.13 > 3.2.12)
  * arel (4.0.0 > 3.0.2)
  * bourne (1.4.0 > 1.1.2)
  * builder (3.2.2 > 3.0.4)
  * coffee-rails (4.0.0 > 3.2.2)
  * faye-websocket (0.6.1 > 0.4.7)
  * json (1.8.0 > 1.7.7)
  * mail (2.5.4 > 2.4.4)
  * mocha (0.14.0 > 0.10.5)
  * rack (1.5.2 > 1.4.5)
  * rails (3.2.13 > 3.2.12)
  * railties (3.2.13 > 3.2.12)
  * rdoc (4.0.1 > 3.12.2)
  * shoulda-matchers (2.1.0 > 1.4.2)
  * sprockets (2.10.0 > 2.2.2)
  * tzinfo (1.0.0 > 0.3.37)

我再次尝试使用 bundle update shoulda-matchers 但同样的问题。

如何将 gem 更新到最新版本?事实上,当我运行捆绑更新时,actionmailer 等如何没有更新。

希望你能给点建议。

4

1 回答 1

0

你还在 3.2.12 上。
所以bundle update不会更新您的 Rails 版本。

确保你Gemfile

gem 'rail', '3.2.13'

bundle update再次运行。

一些 gem 仍然会过时,因为它们对于 Rails 4 (ie coffee-rails) 已经很稳定了。您可以忽略这些“过时”

于 2013-06-06T21:54:23.720 回答