我在Rails 4.0.4 / Ruby 2.1.0上有一个新的应用程序。我做的第一件事就是添加Devise gem。当我想运行rake db:migrate时,它什么都不做。没有错误,但是没有执行迁移。
你能帮我解决一下这个案子怎么办?我找不到问题所在。
谢谢! 彼得
答案 0 :(得分:10)
好的,问题是Devise生成器生成的“.txt”文件带有迁移而不是“.rb”文件。奇怪,但改变扩展解决了它。
答案 1 :(得分:7)
我和Petr有同样的问题,我想我发现了原因。出于某种原因,当我运行'rails g devise User'时,它创建了一个迁移(db / migrate / [timestamp] _devise_create_users.rb)。这就是它的假设,但经过进一步检查,迁移最终错过了'.rb'。所以它看起来像(db / migrate / [timestamp] _devise_create_users)。当我在最后添加.rb并运行'rake db:migrate'时,它就像一个魅力。我不知道为什么rails最后没有附上'.rb'。希望有所帮助。
答案 2 :(得分:-1)
安装devise gem后,您必须执行以下操作
rails generate devise:install
生成器将安装一个描述所有Devise配置选项的初始化程序,你必须看看它。完成后,您就可以使用生成器
将Devise添加到任何模型中rails generate devise <model>
这是生成迁移的步骤。例如,如果要将设计添加到用户模型,则应该执行
rails generate devise User
因此,它将生成一个迁移,以便将与设备相关的列添加到用户表