

ActiveRecord::Baseのvalidationsで  
uniqunessで複数のカラムを選択し、  
さらにそのカラムの値も条件に加えることは可能でしょうか？

uniqunessの条件にしたい項目  
\- user_id  
\- mst_category_id  
\- でさらにactive=true

こんな感じかなって思ったのですが、全然違いました。。。

class User < ActiveRecord::Base

validates :user_id,  
uniqueness: {  
scope: [:mst_category_id, active: true]  
}


CC BY-SA 3.0
2016-11-10T05:23:38.503
30298
2017-01-17T02:42:13.407
13774
question
ruby-on-rails rails-activerecord
ActiveRecordのvalidations、uniqunessで条件の付け方


ためしてませんが、リファレンスによると

[code]

    validates :user_id, uniqueness: { scope: :mst_category_id }, conditions: -> { where(active: true) }
    
[/code]

という書き方(`conditions`)があるようです。


CC BY-SA 3.0
2016-11-10T05:27:56.667
30299
2016-11-10T05:27:56.667
17037
30298
answer