その理由で、私は mysql cmdinsert into table_name (....)
update custom_reports ...
を使用したため、見逃していますModel validations
validates_uniqueness_of :name
validates_presence_of :name, :description
レールの方法で今すぐ検証する方法は? または、mysql の方法を使用して検証します (この方法でも助けが必要です)?
その理由で、私は mysql cmdinsert into table_name (....)
update custom_reports ...
を使用したため、見逃していますModel validations
validates_uniqueness_of :name
validates_presence_of :name, :description
レールの方法で今すぐ検証する方法は? または、mysql の方法を使用して検証します (この方法でも助けが必要です)?
カスタム SQL コマンドを実行するだけでは、 Rails の検証やその他のActiveRecord
魔法ActiveModel
は機能しません。その場合、モデルクラスはインスタンス化されません。
データベース内の無効なエントリを見つけたい (そしておそらく処理したい) 場合は、Rails コンソールで次のことを試してください。
ModelName.find_each do |item|
unless item.valid?
puts "Item ##{item.id} is invalid"
# code to fix the problem...
end
end
valid?
を再度実行しますValidations
が、データは変更しません。