0
gem list state*

*** LOCAL GEMS ***
state_machine (1.1.2)

在我的开发环境的控制台中:

>> require 'state_machine'
=> []

在我的暂存环境中:

>> require 'state_machine'
=> false

两种环境都有相同的 state_machine (1.1.2)。

有谁知道为什么?

4

1 回答 1

1

首先,如果require返回false,只表示文件已经加载成功。

您是否使用捆绑器来管理宝石?假设是 Rails 3 应用程序,这是默认设置,您绝对应该使用它。如果您有一个单独的环境(使用 Rails 中的“环境”含义)进行暂存,那么请确保您的 Gemfile.rb 列出了state_machine所有环境的 gem。最后,为了使 Gemfile.rb 的更改生效,您必须bundle install在它在 Rails 中可用之前运行。

于 2012-12-04T13:40:05.750 回答