1

我对 Rails 比较陌生,所以这可能是一个愚蠢的问题......

我按照插件的github 站点上的基本步骤进行操作(主要是安装插件,运行生成器,修改 environment.rb 并在模型目录中创建 UserObserver 类)

我得到的错误是说它来自 active_support/dependencies。“'load_missing_constant':未初始化的常量 UserObserver (NameError)。” 关于为什么找不到用户观察者类的任何想法?

4

4 回答 4

5

这意味着它正在寻找一个名为“UserObserver”的常量(这通常意味着它是一个类/模块)。它找不到它,因为你可能没有一个名为 user_observer.rb 的文件,一般位于 app/models 或 app/observers 中。

于 2009-03-12T22:20:35.723 回答
3

您是否在文件中包含这两行environment.rb?假设user_observer.rb位于app/observers.

config.load_paths += %W( #{RAILS_ROOT}/app/observers )%
config.active_record.observers = :user_observer
于 2009-03-12T23:25:53.743 回答
1

我不知道您的特定问题的解决方案,但您可以查看Bort,这是一个已经具有 restful auth 设置的骨架应用程序,并查看他们做了哪些您没有完成的操作。

于 2009-03-12T20:49:43.540 回答
1

我以前遇到过这个问题。这是解决方案:

在使用生成器之前,不要对环境和路由文件进行任何更改。先使用生成器;然后添加...

map.signup '/signup', :controller => 'users', :action => 'new' map.login '/login', :controller => 'sessions', :action => 'new' map.logout ' /logout', :controller => 'sessions', :action => 'destroy'

...ETC。

应该这样做。

于 2010-07-06T03:37:02.673 回答