【发布时间】:2011-07-19 15:37:57
【问题描述】:
我的模型定义如下
class One <Active:Record:Base
{
has_and_belongs_to_many :twos, {:join_table => 'map__ones__twos'}
}
class Two <Active:Record:Base
{
has_and_belongs_to_many :ones, {:join_table => 'map__ones__twos'}
}
我希望两个的名称属性对于一个的范围应该是唯一的。这意味着属于一个的所有两个都应该具有唯一的名称。在这里,我无法在两个模型中指定如下所示的内容
validates_uniqueness_of :name, :scope => one_id
因为 on_id 不是二进制表的列。而是 one_id 和 two_id 通过表 map_ones_twos(多对多关系)相互映射
请推荐
【问题讨论】:
-
一和二不是好名字。请将您的示例更改为更可更改的内容。
标签: ruby-on-rails model scope has-and-belongs-to-many validates-uniqueness-of