我有一个post
模型和一个keyword
模型(带有name
属性),一篇文章有很多关键词。
我想验证关键字的唯一性,但相对于它的帖子,不是所有关键字。
我的意思是:first_post
和second_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/