0

その理由で、私は mysql cmd

insert into table_name (....)
update custom_reports ...

を使用したため、見逃していますModel validations

validates_uniqueness_of :name
validates_presence_of :name, :description

レールの方法で今すぐ検証する方法は? または、mysql の方法を使用して検証します (この方法でも助けが必要です)?

4

3 に答える 3

1

カスタム SQL コマンドを実行するだけでは、 Rails の検証やその他のActiveRecord魔法ActiveModelは機能しません。その場合、モデルクラスはインスタンス化されません。

于 2013-11-05T14:03:57.277 に答える
0

データベース内の無効なエントリを見つけたい (そしておそらく処理したい) 場合は、Rails コンソールで次のことを試してください。

ModelName.find_each do |item|
  unless item.valid?
    puts "Item ##{item.id} is invalid"
    # code to fix the problem... 
  end
end

valid?を再度実行しますValidationsが、データは変更しません。

于 2013-11-12T10:13:41.953 に答える