Rails创建连接表如何验证对的唯一性

时间:2016-07-29 08:42:27

标签: ruby-on-rails validation

我用

创建了一个连接表
rails generate migration CreateJoinTableFoosBars foos bars

它确实创建了一个工作连接表,但是我看不到它的模型,因此我无法添加

validates_uniqueness_of :foo_id, scope: :bar_id

在这种情况下我该怎么办?提前谢谢。

2 个答案:

答案 0 :(得分:3)

添加包含两列的唯一索引。这将阻止您插入包含重复的foo_id / bar_id对的记录。

add_index :foo_bars, [ :foo_id, :bar_id ], unique: true

答案 1 :(得分:-2)

生成迁移也不会生成模型。如果您使用模型生成器,那么它还将生成一个迁移文件和模型文件:

rails generate model foo_bar foo_id:integer bar_id:integer