从Rails中的另一个表引用表中的指定列

时间:2012-03-25 02:23:43

标签: ruby-on-rails ruby

我有两次迁移,如下所示:

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添加事件时,它会自动引用相关组。我该怎么做!

2 个答案:

答案 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/