2012-06-08 99 views
0

- create_table(:admin_users) rake中止! 发生错误,这和所有后来迁移取消:Rails迁移错误database_authenticatable

未定义的方法`database_authenticatable”为#

任务:TOP =>分贝:迁移 如何SOLV呢?感谢名单!

迁移

create_table(:admin_users) do |t| 
     t.database_authenticatable :null => false 
     t.recoverable 
     t.rememberable 
     t.trackable 
     t.timestamps 
end 

在Gemfile中所有的宝石和安装

+0

什么是迁移样子的? – GorrillaMcD

+0

添加的迁移 – lesyk

回答

1

答案是简单的设备团队吸! 解决这一需求做出的Gemfile 宝石“设计” cnanges,“〜“1.5”

因为1.5有database_authenticatable类型的支持,并在2.1.0有只支持兼容性不是这种类型的创作领域 thanx everyone。

+0

如果没有辅助方法在列中添加是否真的很难?我个人更喜欢它,因为在新的模式下,我可以确切地看到什么设计增加了我的分贝,并且更多地理解了它。但是,每个人都有自己的看法。 – GorrillaMcD

1

确保你在Gemfile中设计和安装包。

0

使用Devise 2.0及更新版本,迁移帮助程序方法(例如t.database_authenticatable)不可用(如wiki here中所述)如果要为用户创建新模型,只需使用devise迁移生成器所以:

rails g devise admin_users (If you're installing devise on your app) 

如果您将所需字段添加到现有用户模型,则应检查this page on the devise wiki

查看main README的设计,它具有在Rails上安装最新版本的设备的最新信息。

1

如果你是刚用色器件开始(与以前verions更新),你可能会错过接下来的步骤做rake db:migrate

rails generate devise:install 

这将创建

create config/initializers/devise.rb 
create config/locales/devise.en.yml 

它定义了前方法耙正在抱怨上面。

来源: https://github.com/plataformatec/devise