2014-11-14 77 views
0

我创建了一个rails项目MyProject并试图在其中设置Devise(使用this tutorial)。当我做了一些设计的东西,我不能脚手架User了,我遇到了一个错误,如下所示。所以我想重新开始,将项目重命名为MyProject-Devise并创建了一个新项目MyProject首先创建User然后执行我的设计。现在在我的同名新项目中,当我运行时宝石似乎影响同名的其他rails项目

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': uninitialized constant User (NameError)

完全错误的位置:http://pastebin.com/KFh4U6aS

+0

是和我甚至可能在某些时候运行耙子,在教程中,我还得跑 – Lukas 2014-11-14 19:23:33

+0

是。我甚至可能跑耙子和教程也让我运行'rails生成设计:安装rails生成设计用户' – Lukas 2014-11-14 19:24:17

+0

不听起来疯狂,之前有一个评论,然后问我是否使用捆绑软件 – Lukas 2014-11-14 19:25:39

回答

0

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

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

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

+0

在我添加行到Gemfile我确实运行了bundle install – Lukas 2014-11-14 19:26:21

+0

您是否使用'bundle exec'运行迁移?这也是需要的(除非你设置了binstubs--一旦我们解决了你的问题,我很乐意解释它)。 – rep 2014-11-14 19:31:45