- create_table(:admin_users) 耙子流产了! 发生错误,此操作和所有后续迁移都已取消:
对于#,未定义的方法`database_authenticatable'
任务:TOP => DB:迁移 怎么解决呢?感谢名单!
迁移
create_table(:admin_users) do |t|
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
t.timestamps
end
在gemfile中安装所有宝石并安装
答案 0 :(得分:1)
确保您已在Gemfile中设计并安装了捆绑包。
答案 1 :(得分:1)
答案很简单,设备团队很糟糕! 解决这个问题需要在GEMFILE中制作cnanges 宝石'设计',“〜> 1.5”
因为在1.5中存在database_authenticatable类型支持,并且在2.1.0中仅支持兼容性而不是创建具有此类型的字段 大家好。
答案 2 :(得分:1)
如果您刚开始使用设计(与先前版本的更新相比),您可能在执行rake db:migrate
之前错过了以下步骤
rails generate devise:install
这会创建
create config/initializers/devise.rb
create config/locales/devise.en.yml
定义rake方法正在抱怨上面。
答案 3 :(得分:0)
使用Devise 2.0及更新版本,迁移帮助程序方法(例如t.database_authenticatable)不可用(如wiki here中所述)如果您正在为用户创建新模型,只需使用该设计像这样的迁移生成器:
rails g devise admin_users (If you're installing devise on your app)
如果您要将所需字段添加到现有用户模型,则应检查this page on the devise wiki。
查看main README for devise,其中包含有关在Rails上安装最新版本的设备的最新信息。