【问题标题】:Rails Restful Authentication : Can't find UserObserverRails Restful 身份验证:找不到 UserObserver
【发布时间】:2010-10-12 23:45:43
【问题描述】:
我对 Rails 比较陌生,所以这可能是一个愚蠢的问题...
我按照github site for the plugin上提到的基本步骤(主要是安装插件,运行生成器,修改environment.rb并在models目录下创建UserObserver类)
我得到的错误是说它来自 active_support/dependencies。 "'load_missing_constant': 未初始化的常量 UserObserver (NameError)。" 关于它为什么找不到用户观察者类的任何想法?
【问题讨论】:
标签:
ruby-on-rails
restful-authentication
【解决方案1】:
我以前遇到过这个问题。这是解决方案:
在使用生成器之前不要对环境和路由文件进行任何更改。先使用生成器;然后添加...
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
...等等。
应该这样做。
【解决方案2】:
您是否将这两行都包含在您的environment.rb 文件中?假设user_observer.rb 位于app/observers。
config.load_paths += %W( #{RAILS_ROOT}/app/observers )%
config.active_record.observers = :user_observer
【解决方案3】:
这意味着它正在寻找一个名为“UserObserver”的常量(这通常意味着它是一个类/模块)。找不到是因为你可能没有名为 user_observer.rb 的文件,一般位于 app/models 或 app/observers。
【解决方案4】:
我不知道你的特定问题的解决方案,但你可以看看Bort,这是一个已经有restful auth设置的骨架应用程序,看看他们做了什么你还没有。