有没有一种验证实际记录是唯一的而不仅仅是一列的方法?例如,友谊模型/表格不应具有多个相同的记录,例如:
user_id: 10 | friend_id: 20
user_id: 10 | friend_id: 20
7
如果我很稠密,请原谅我,但是在这种情况下有什么帮助?
—
re5et 2011年
尝试在模型中使用“ validates_uniqueness_of”。如果这不起作用,请尝试创建一个索引,在该索引上创建可以迁移的字段,其中包括如下语句:add_index:table,[:column_a,:column_b],:unique => true)
—
Harry Joy
@HarryJoy,他问
—
格林
Is there a rails-way way
。而且您为他提供了无轨方式,但是很标准。The Active Record way claims that intelligence belongs in your models, not in the database.
不幸的
—
Pooyan Khosravi 2014年
validates :field_name, unique: true
是容易出现比赛条件,因此即使遇到铁轨,还是要有实际的约束。@HarryJoy我将投票回答一个描述约束方式的答案。
更好的答案是,下面所有提到的就是这个stackoverflow.com/a/34425284/1612469,因为它带来了另一层来确保一切正常工作
—
Aleks