【问题标题】:<timestamp>_add_devise_to_users.rb created instead of <timestamp>_devise_create_users.rb<timestamp>_add_devise_to_users.rb 创建而不是 <timestamp>_devise_create_users.rb
【发布时间】:2016-01-07 19:16:32
【问题描述】:

我对 Ruby on rails 完全陌生,并且正在运行以下命令 $rails 生成设计用户

我希望生成文件 _devise_create_users.rb 。但是它生成文件_add_devise_to_users.rb。 因此,当我在此之后运行命令 rake db:migrate 时,它​​给了我一个错误,SQLite3::SQLException: no such table: users: ALTER TABLE "users" ADD "email" varchar DEFAULT '' NOT NULL。因为没有创建用户表。

有什么进展建议吗?

【问题讨论】:

  • 您需要先创建users 表。然后迁移数据库。然后你可以运行rails generate devise user
  • 谢谢安德烈。有效..首先rails生成模型用户名:字符串电子邮件:字符串然后执行迁移命令..完美

标签: mysql ruby-on-rails ruby ruby-on-rails-3 devise


【解决方案1】:

我认为您需要将 User 大写

rails generate devise User

确保回滚您在之前的尝试中对数据库所犯的任何错误。

【讨论】:

    【解决方案2】:

    似乎无法识别“设计”gem,好像认为“设计”是列名,而“用户”是要添加列的表。确保“设计”存在于您的 Gemfile 中。

    您还可以验证“设计”gem 是否使用 $ gem list 在 Rails 项目文件夹内的外壳中安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-21
      • 2017-03-07
      • 2013-12-29
      • 2016-10-05
      • 2013-09-04
      • 1970-01-01
      • 2021-05-30
      • 2019-05-02
      相关资源
      最近更新 更多