在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
根据这里的文件