我有一个带有field ward_id的表学生,我必须创建一个名为guardian_users的表,其中包含字段id,ward_id,email,guardian_id,hashed_password等.
现在我必须添加约束外键.学生中的任何更新/删除/编辑/插入都应对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
在你的模型中:
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