2017-05-06 24 views
0

私はRoRを初めて使用しています。私のモデルでカスタム検証をデバッグしようとしています。私はコード内で次のように試しましたが、puts self.input_values.inspectRails.logger.info self.input_values.inspectでもログには結果はありません。間違ったデバッグに対処していますか? self.input_valuesの値を確認するにはどうすればよいですか?Railsでのモデル検証

validate :i_is_i 



def i_is_i 
    unless self.cust_record == 'number' && self.input_values.all? do |value| 
             '#################' 
             Rails.logger.debug self.input_values.inspect 
             '#################' 
             value.match(/^\d*$/) 
             end 
     errors.add(:input_values, "only numbers!") 
     throw(:abort) 
    end 
    end 
+0

検証方法は「record_to_i」ですか。 –

+0

もしあなたがブレークポイントで大丈夫なら、あなたは 'byebug'を使うことができます。ブレークポイントを加えてエラーの詳細を確認してください。 –

+0

@ChetanMehta申し訳ありませんが、質問したときにタイプミスでした。 – catch22

答えて

1

条件が満たされず、ブロック内に入っていないため印刷されない可能性があります。 Do:

validate :i_is_i 

def i_is_i 
    p "CUST_RECORD >>>>>>>>>>>>>>>>> #{self.cust_record}" 
    p "INPUT_VALUES >>>>>>>>>>>>>>>>> #{self.input_values.all?}" 
    unless self.cust_record == 'number' && self.input_values.all? do |value| 
    # Stuff you wanna do when it goes inside 
    end 
end 
関連する問題