我有两次迁移,如下所示:
CreateGroups
t.string :name
t.string :groupkey
CreateEvents
t.string :name
t.string :groupkeyname
t.integer :group_id
及其相应的型号:
group
has_many :events
event
belongs_to :group
据我所知,CreateEvents迁移中的t.integer:group_id列引用了CreateGroups迁移中的默认id列。但是,我希望:CreateEvents中的groupkeyname引用:CreateGroups中的groupkey,这样当我使用groupkeyname = groupkey添加事件时,它会自动引用相关组。我该怎么做!
答案 0 :(得分:1)
您可以在模型中指定自定义外键。 看看这个链接:http://paulsturgess.co.uk/articles/32-custom-foreign-keys-in-ruby-on-rails 或者如果您知道外键的sql命令,则可以在迁移文件中编写该命令。 请检查此链接:How to define foreign key, index constraints in my migration script
答案 1 :(得分:0)
您应该使用委托。请查看此博客以获得更详尽的说明:http://www.simonecarletti.com/blog/2009/12/inside-ruby-on-rails-delegate/