Rails 4 では、has_many :through で :uniq => true を使用すると非推奨の警告が導入されました。例えば:
has_many :donors, :through => :donations, :uniq => true
次の警告が表示されます。
DEPRECATION WARNING: The following options in your Goal.has_many :donors declaration are deprecated: :uniq. Please use a scope block instead. For example, the following:
has_many :spam_comments, conditions: { spam: true }, class_name: 'Comment'
should be rewritten as the following:
has_many :spam_comments, -> { where spam: true }, class_name: 'Comment'
上記の has_many 宣言を書き直す正しい方法は何ですか?