Personというモデルがあります。User に Person を継承させたい。
class Person < ActiveRecord::Base
belongs_to :organization
validates :email, :presence => true, :uniqueness => true
end
class User < Person
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :lockable
# for some reason I HAVE TO user attr_accessor on the following attributes or
# else I would get noMethodError or something like that, I'll fix this later
attr_accessor :username, :encrypted_password, :locked_at, :current_sign_in_at, :last_sign_in_at, :current_sign_in_ip, :last_sign_in_ip, :sign_in_count
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :username, :password, :password_confirmation, :remember_me,
:first_name, :last_name, :mobile_phone, :phone_one, :phone_two, :organization_id
validates :username, :presence => true
end
今、私はDeviseをインストールしていusers
て、列を持つテーブルを作成したいと考えていemail
ます. email
しかし、User はemail
Personから継承することになっているため、その列は必要ありません。
User モデルが People モデルから継承されるようにします。People には既にemail
属性があるため、User にはもう必要ありません。
ロック可能なモジュールのテーブルではなく、Devise がメールを送信する必要があるときはいつでもemail
テーブルの列を見るようにするにはどうすればよいですか?people
users
email
移行から列を削除することはできますか?