首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行"rails generate devise:install“时,从devise获得错误"User not respond to 'devise‘method”。

运行"rails generate devise:install“时,从devise获得错误"User not respond to 'devise‘method”。
EN

Stack Overflow用户
提问于 2012-02-12 16:04:06
回答 4查看 14.4K关注 0票数 7

在运行"rails generate devise:install“时,我从devise得到了错误"User not respond to 'devise‘method”。想法:你该如何解决?

实际上,当我尝试运行"rails generate devise:install“时,也会遇到这个错误。

备注:

代码语言:javascript
复制
Gregs-MacBook-Pro:testapp greg$ rails generate devise:install
/Library/Ruby/Gems/1.8/gems/devise-2.0.1/lib/devise/rails/routes.rb:406:in `raise_no_devise_method_error!': User does not respond to 'devise' method. This usually means you haven't loaded your ORM file or it's being loaded too late. To fix it, be sure to require 'devise/orm/YOUR_ORM' inside 'config/initializers/devise.rb' or before your application definition in 'config/application.rb' (RuntimeError)
    from /Library/Ruby/Gems/1.8/gems/devise-2.0.1/lib/devise/rails/routes.rb:207:in `devise_for'
    from /Library/Ruby/Gems/1.8/gems/devise-2.0.1/lib/devise/rails/routes.rb:203:in `each'
    from /Library/Ruby/Gems/1.8/gems/devise-2.0.1/lib/devise/rails/routes.rb:203:in `devise_for'
    from /Users/greg/source_rails/testapp/config/routes.rb:2
    from /Library/Ruby/Gems/1.8/gems/actionpack-3.2.1/lib/action_dispatch/routing/route_set.rb:272:in `instance_exec'
    from /Library/Ruby/Gems/1.8/gems/actionpack-3.2.1/lib/action_dispatch/routing/route_set.rb:272:in `eval_block'
    from /Library/Ruby/Gems/1.8/gems/actionpack-3.2.1/lib/action_dispatch/routing/route_set.rb:249:in `draw'

代码语言:javascript
复制
Gregs-MacBook-Pro:testapp greg$ ruby -v 
**ruby 1.8.7** (2010-01-10 patchlevel 249) [universal-darwin11.0]

Gregs-MacBook-Pro:testapp greg$ rails -v
**Rails 3.2.1**

Gregs-MacBook-Pro:testapp greg$ gem list

*** LOCAL GEMS ***

actionmailer (3.2.1)
actionpack (3.2.1)
activemodel (3.2.1)
activerecord (3.2.1)
activeresource (3.2.1)
activesupport (3.2.1)
addressable (2.2.6)
arel (3.0.0)
bcrypt-ruby (3.0.1)
builder (3.0.0)
bundler (1.0.22)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.2.0)
devise (2.0.1)
erubis (2.7.0)
execjs (1.3.0)
faraday (0.7.6)
hike (1.2.1)
i18n (0.6.0)
journey (1.0.1)
jquery-rails (2.0.0)
json (1.6.5)
mail (2.4.1)
mime-types (1.17.2)
multi_json (1.0.4)
multipart-post (1.1.4)
mysql (2.8.1)
mysql2 (0.3.11)
oauth (0.4.5)
oauth-plugin (0.4.0.rc2)
oauth2 (0.5.2)
orm_adapter (0.0.6)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.1)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.1)
railties (3.2.1)
rake (0.9.2.2)
rdoc (3.12)
rubygems-update (1.8.15)
sass (3.1.15, 3.1.14)
sass-rails (3.2.4)
sprockets (2.1.2)
sqlite3 (1.3.5)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.31)
uglifier (1.2.3)
warden (1.1.0)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-12 16:08:13

听起来你已经在你的用户模型中调用了devise方法。也许你已经运行过rails g devise User了?

注释掉它,并注释掉你的路由文件中的devise_for :users行。

票数 49
EN

Stack Overflow用户

发布于 2013-07-29 04:00:21

完成rails教程&这些答案对我不起作用,但经过一番搜索后找到了解决方案。希望这篇文章能帮助那些遇到这个问题的新手。

Ruby文件转到:config/routes.rb

  • 注释掉devise_for :installs (在前面放一个散列标签)

  • 转到您的Ruby终端并重新输入:rails generate devise:install

现在Devise应该可以正确安装了&后续的错误应该会消失。

Source

票数 4
EN

Stack Overflow用户

发布于 2013-07-12 03:23:28

对于由于以下错误而到达此处的人员:

用户不响应“devise”方法。这通常意味着您还没有加载ORM文件,或者加载得太晚了。要修复它,请确保在'config/initializers/devise.rb‘内或在'config/application.rb’(RuntimeError)中定义应用程序之前要求‘devise/ORM/ your’

但是您已经正确地初始化了ORM,它可能与gem相关。我在一个旧的应用程序上也遇到了同样的问题,这是因为它与active_reload gem不兼容。gem active_reload与Rails3.2不兼容,应该删除。active_reload已经被合并到了Rails3.2中,所以可以安全地删除它。

我从这里得到了解决方案:http://anlek.com/2012/02/user-does-not-respond-to-devise-method/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9247334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档