Ruby on rails “从设计中获取错误”;用户不响应';设计';方法“;“运行时”;轨道生成装置:安装;
运行“rails生成designe:install”时,designe“用户不响应‘design’方法”出现错误。如何解决 事实上,在尝试运行我刚才提到的“rails生成designe:install”时,也会出现这个错误 注:Ruby on rails “从设计中获取错误”;用户不响应';设计';方法“;“运行时”;轨道生成装置:安装;,ruby-on-rails,ruby,ruby-on-rails-3,devise,Ruby On Rails,Ruby,Ruby On Rails 3,Devise,运行“rails生成designe:install”时,designe“用户不响应‘design’方法”出现错误。如何解决 事实上,在尝试运行我刚才提到的“rails生成designe:install”时,也会出现这个错误 注: 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:i
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'
及
听起来您已经在用户模型中调用了Desive方法。也许您已经运行了
rails g designe User
注释掉,并注释掉routes文件中的
design\u for:users
行(如果有)。我也遇到了同样的问题。然而,对我来说,这是由与活动的_重新加载gem的冲突引起的。有一次我把它去掉了,一切都好了。我从那里得到了由于以下错误而到达这里的人的提示:
用户不响应“设计”方法。这通常意味着你
尚未加载您的ORM文件,或者加载太晚。为了解决这个问题,
请务必在内部要求“设计/orm/YOUR_orm”
“config/initializers/designe.rb”或在应用程序定义之前
在'config/application.rb'中(运行时错误)
但是您已经正确初始化了ORM,它可能与gem相关。我在一个旧应用程序上遇到了同样的问题,这是由于与active\u reload
gem不兼容<代码>gem active_reload与Rails 3.2不兼容,应将其删除。已并入Rails 3.2,因此可以安全地移除
我从这里得到了解决方案:完成rails教程&这些答案对我来说并不适用,但经过一些搜索后找到了解决方案。希望这有助于任何新的和遇到这个问题的人
design\u for:installs
(在前面放一个散列标签)rails生成设备:安装
tks-似乎解决了问题-问题出在哪里我是不是按错误的顺序发出命令,结果事情搞砸了?我想现在我必须重新取消对这些行的注释?(我上面指的命令是:“rails生成设备:安装”、“rails生成设备用户”和“rake db:migrate”@greg-running
rails g designe:install
将designe的初始值设定项放入文件config/initializers/designe.rb
。这就是加载所有designe方法以便应用程序可以使用它们的原因。如果在初始值设定项就位之前运行rails g designe User
,则您的用户模型包含对方法的调用应用程序不知道。因此,每当您运行任何rails命令时,它都会失败,因为……嗯,是您遇到的错误。如果您尝试运行rails服务器
或rails c
,或其他任何程序,它也会失败。@greg是的,您只是以错误的顺序运行了命令。首先运行“rails生成设计:安装”。如果我先运行rails g designe-User
,我也会遇到同样的问题。如果我在我的路由文件中注释掉designe-for:users
,那么我就可以成功运行rake-db:migrate
。我想知道我是将我的designe-for:users
永久注释掉,还是可以取消注释?@leggooo您可以在完成后取消注释它我已经运行了迁移。我想我已经运行了。我说它是活动的重新加载gem
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)