Gem似乎会影响同名的其他rails项目

时间:2014-11-14 19:11:51

标签: ruby-on-rails devise

我创建了一个rails项目 MyProject 并尝试在其中设置Devise(使用this tutorial)。在我做了一些Devise的东西后,我再也没有脚手架User,我遇到了如下所示的错误。所以我想重新开始,将项目重命名为 MyProject-Devise 并创建一个新项目 MyProject ,先创建User,然后再做我的设计。现在,在我的同名新项目中,当我运行

rails generate scaffold user name:string email:string

我遇到了同样的错误。如果我创建一个具有其他名称的新应用程序,我可以使用相同的命令来构建用户。所以我想它必须是同名的东西。

为什么会这样?如何摆脱错误或如何重新正确启动项目?

这是错误:

  

/Users/luke/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/activesupport-4.1.7/lib/active_support/inflector/methods.rb:238:in`const_get ':未初始化的常量User(NameError)

此处出现完整错误:http://pastebin.com/KFh4U6aS

1 个答案:

答案 0 :(得分:0)

看起来你可能没有使用Bundler。您链接到的教程是否创建了Gemfile,但没有告诉您运行bundlebundle exec。如果没有Bundler,您可能会将Devise直接安装到Ruby的宝石中。

我怀疑如果您使用rails generate运行bundle exec命令,可能会有不同的结果。

bundle exec rails generate scaffold user name:string email:string