我有一个需要:email
列的用户模型(我忘记了在初始脚手架期间添加该列)。向Rails移植中的现有表添加列
我打开迁移文件并添加了t.string :email
,做了rake db:migrate
,并得到了NoMethodError
。然后我说行
add_column :users, :email, :string
再次rake db:migrate
,再次NoMethodError
。我在这里错过了一步吗?
编辑:这里是迁移文件。
class CreateUsers < ActiveRecord::Migration
def self.up
add_column :users, :email, :string
create_table :users do |t|
t.string :username
t.string :email
t.string :crypted_password
t.string :password_salt
t.string :persistence_token
t.timestamps
end
end
def self.down
drop_table :users
end
end
rails g migration addEmailToUsers also works – wheresmycookie 2013-06-08 19:20:43
要明确一点,我们使用复数?所以它是`add_email_to_users`而不是`add_email_to_user`? – Purplejacket 2013-12-16 18:56:24
正确。 Rails中的表名总是复数(以匹配DB约定)。 – camdez 2014-01-22 06:06:51