我对 Rails 比较陌生,所以这可能是一个愚蠢的问题......
我按照插件的github 站点上的基本步骤进行操作(主要是安装插件,运行生成器,修改 environment.rb 并在模型目录中创建 UserObserver 类)
我得到的错误是说它来自 active_support/dependencies。“'load_missing_constant':未初始化的常量 UserObserver (NameError)。” 关于为什么找不到用户观察者类的任何想法?
我对 Rails 比较陌生,所以这可能是一个愚蠢的问题......
我按照插件的github 站点上的基本步骤进行操作(主要是安装插件,运行生成器,修改 environment.rb 并在模型目录中创建 UserObserver 类)
我得到的错误是说它来自 active_support/dependencies。“'load_missing_constant':未初始化的常量 UserObserver (NameError)。” 关于为什么找不到用户观察者类的任何想法?
这意味着它正在寻找一个名为“UserObserver”的常量(这通常意味着它是一个类/模块)。它找不到它,因为你可能没有一个名为 user_observer.rb 的文件,一般位于 app/models 或 app/observers 中。
您是否在文件中包含这两行environment.rb
?假设user_observer.rb
位于app/observers
.
config.load_paths += %W( #{RAILS_ROOT}/app/observers )%
config.active_record.observers = :user_observer
我不知道您的特定问题的解决方案,但您可以查看Bort,这是一个已经具有 restful auth 设置的骨架应用程序,并查看他们做了哪些您没有完成的操作。
我以前遇到过这个问题。这是解决方案:
在使用生成器之前,不要对环境和路由文件进行任何更改。先使用生成器;然后添加...
map.signup '/signup', :controller => 'users', :action => 'new' map.login '/login', :controller => 'sessions', :action => 'new' map.logout ' /logout', :controller => 'sessions', :action => 'destroy'
...ETC。
应该这样做。