Kra*_*mar 7 ruby activerecord ruby-on-rails
我有一个表students与现场ward_id,我必须创建一个名为表guardian_users与领域id,ward_id,email,guardian_id,hashed_password等.
现在我必须添加约束foreign key.学生中的任何更新/删除/编辑/插入都应对guardian_users产生相同的影响.
我怎么能在rails 2.3.5中做到这一点?
表学生存在但其他人尚不存在.
您将需要foreign_key_migrations插件或#execute方法.假设你使用插件:
class CreateGuardianUsersTable < ActiveRecord::Migration
def self.up
create_table(:guardian_users) do |table|
table.timestamps # I find them useful; YMMV
table.integer :guardian_id
table.integer :ward_id, :null => false, :references => [:students, :id]
table.string :email
table.string :heahead_password
end
end
def self.down
drop_table :guardian_users
end
end
Run Code Online (Sandbox Code Playgroud)
在你的模型中:
class GuardianUser < ActiveRecord::Base
belongs_to :student
end
class Student < ActiveRecord::Base
has_many guardian_users:, :foreign_key => 'ward_id', :class_name => 'GuardianUser', :dependent => :destroy
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9752 次 |
| 最近记录: |