在Rails 4中的has_and_belongs_to_many关系中使用uniq

我正在尝试在has_and_belongs_to_many关系上实现一个唯一约束,如下所示:

 class User has_and_belongs_to_many :foos, uniq: true end 

因为我在调用foos时只想要独特的foos ,所以我添加了uniq选项。 自升级到Rails 4以来,我开始收到以下警告:

弃用警告:不推荐使用User.has_and_belongs_to_many:foos声明中的以下选项:: uniq。 请改用示波器块。 例如,以下内容:

  has_many :spam_comments, conditions: { spam: true }, class_name: 'Comment' 

应该改写如下:

  has_many :spam_comments, -> { where spam: true }, class_name: 'Comment' 

我已经尝试了许多不同的组合,并通读源,但无法弄清楚如何编写唯一约束来删除警告?

 class User has_and_belongs_to_many :foos, -> { uniq } end 

根据这里的文件