ruby-on-rails - Rails db 不通过迁移添加新列

标签 ruby-on-rails ruby-on-rails-3.2

这是我的用户模型.rb

class User < ActiveRecord::Base
    attr_accessor :password
  attr_accessible :email, :name

  validates :name,:presence=>true,:length=>{:maximum=>15}
    validates :email,:presence=>true,:length=>{:maximum=>15}
end

我想添加一个新的密码栏。 我用了命令

rails g migration pass_mig password:string

然后

rake db:migrate

但在数据库模式中仍然

ActiveRecord::Schema.define(:version => 20130627073430) do

      create_table "users", :force => true do |t|
        t.string   "name"
        t.string   "email"
        t.datetime "created_at", :null => false
        t.datetime "updated_at", :null => false
      end
end

同样在 Rails 控制台中:不能将密码添加到新的用户对象中,即在新的数据库条目中。请提出建议。 P.S:我是 Rails 的新手,所以这可能是一个愚蠢的问题。我正在使用 rails 版本:3.2.13 和 ruby​​ 版本:1.9.3

最佳答案

好的,这是每个人都在谈论的关于 Rails 的“神奇”事物之一。当您进行迁移以向表中添加列时,有一个命名约定。试试这个:

rails g migration add_password_to_users password:string

实际上几乎所有东西都有重要的命名约定。

关于ruby-on-rails - Rails db 不通过迁移添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17337510/

相关文章:

ruby-on-rails - 从 ActiveRecord 模型集合构建散列

ruby-on-rails - 带有 2 个提交按钮的 Rails 表单 disable_with 选项也会在我单击一个按钮时开始禁用其他按钮

configuration - CarrierWave 和 Fog、S3 存储桶和 store_dir 配置

mysql - 更新到 mysql 8 安装后 mysql gem 出现问题

ruby-on-rails - RSpec 查看规范 : accessing view helpers

ruby-on-rails - 扩展 Spree::Product 模型/类

html - 如何在 Rails 中设置 collection_select 的 HTML 选项?

ruby-on-rails-3.2 - 如何为感恩节后的一天编写函数?假日 gem ,YAML 文件

postgresql - 重复主键,无法访问 psql 控制台

javascript - 在 bootstrap popover rails 5 应用程序中渲染部分?