【RoR】Ruby on Rails Part18
■ このスレッドは過去ログ倉庫に格納されています
0752nobodyさん
2014/07/22(火) 23:40:19.50ID:???条件付きvalidation使ってるね
サクッとやれるのは条件付きvalidationかも
4つ必要になる。
attr :xxx
validate :xxx, presence: true, unless: valid_input_cols?, message: 'col1,2,3はいずれか1つだけ入力が必要です'
validate :col1, numericality: true, if: (self.col1.preset? and valid_input_cols?)
validate :col2, numericality: true, if: (self.col2.preset? and valid_input_cols?)
validate :col3, numericality: true, if: (self.col3.preset? and valid_input_cols?)
def valid_input_cols?
count = 0
count = count + 1 if self.col1.preset?
count = count + 1 if self.col2.preset?
count = count + 1 if self.col3.preset?
count == 1 ? true : false
end
xxxはvalidationの便宜のために作った適当な仮想属性。col1とか使っても別にいいっちゃいい。
コードは適当なのでそのままでは動かんかも
あんまスマートなやり方でないので、他の人のやり方を知りたい
■ このスレッドは過去ログ倉庫に格納されています