Ruby on rails Activerecord和#x27;外键';必须是两个字段的组合

Ruby on rails Activerecord和#x27;外键';必须是两个字段的组合,ruby-on-rails,activerecord,foreign-key-relationship,Ruby On Rails,Activerecord,Foreign Key Relationship,我想要一个有许多关系描述如下 class User < ActiveRecord::Base has_many :mcollections, :foreign_key=>'obj_id' end :外键不是表mcollections上的单个字段。外键必须是两个字段的组合(obj_id+category)。如何在User类中指定这一点?你不能用另一种方法吗 在rails中使用多列外键不是最佳做法…我看不出在这里使用外键的意义。 外键应该是另一个表的主键。obj_id和catego

我想要一个有许多关系描述如下

class User < ActiveRecord::Base
  has_many :mcollections, :foreign_key=>'obj_id'
end

:外键
不是表
mcollections
上的单个字段。外键必须是两个字段的组合(
obj_id+category
)。如何在
User
类中指定这一点?

你不能用另一种方法吗


在rails中使用多列外键不是最佳做法…

我看不出在这里使用外键的意义。 外键应该是另一个表的主键。obj_id和category都不能用作外键,因为它们不是主键的一部分

create table mcollections (
  id                     int            not null auto_increment,
  obj_id                 varchar(255)   not null,
  category               varchar(255)   not null,
);