我有一个post模型和一个keyword模型(带有name属性),一篇文章有很多关键词。
我想验证关键字的唯一性,但相对于它的帖子,不是所有关键字。
我的意思是:first_postsecond_post都可以有关键字,但不能有两次。我想避免重复。
如果我只是添加apple模型:

validates :name, uniqueness: true

它将检查所有关键字中keyword的唯一性。
我怎么能准确地说,它应该只为它的职位?
编辑:
我补充说:
validates :name, uniqueness: { scope: post_id }

到keyword.rb文件。
我现在得到一个错误:
undefined local variable or method `post_id' for #<Class:0x007f8fa46b7890>

但是我的关键字模型有一个post-id属性。你知道这是什么原因吗?

最佳答案

你可以用示波器。
:scope-限制
唯一性约束。

validates :name, uniqueness: { scope: :post_id }

关于ruby-on-rails - 相对于父项验证唯一性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37179478/

10-10 03:49