这是我的用户模型.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/