less_than
とgreater_than
のRailsモデルに検証を追加しましたが、明らかに互いに競合しています。Rails 0より小さいか0より大きいか、または0以外のフィールド
モデルのフィールドが0にならないように、Railsがフィールドを検証することを確認したいと思います.0より小さいか、0より大きいですが、両方ではありません。
どうすればいいですか?
less_than
とgreater_than
のRailsモデルに検証を追加しましたが、明らかに互いに競合しています。Rails 0より小さいか0より大きいか、または0以外のフィールド
モデルのフィールドが0にならないように、Railsがフィールドを検証することを確認したいと思います.0より小さいか、0より大きいですが、両方ではありません。
どうすればいいですか?
このためバリデータがすでにありますがnumericality
http://edgeguides.rubyonrails.org/active_record_validations.html#numericality
class Player < ApplicationRecord
validates :salary, numericality: { other_than: 0 }
end
validate :non_zero
def non_zero
if self.field_name == 0
self.errors.add(:field_name, "Field can't be zero")
end
end
と呼ばれる私は 'non_zero'を指定するといいでしょう。 @MartinSvalinが合意した。 –
かわった。 – toddmetheny
もちろん、Rails 4以上の場合。 – vee
働いてくれてありがとう。 – Noah