0

だから最初に私はこのクラスを持っていました:

class User < ActiveRecord::Base
  attr_accessible :email, :name


end

Rubyサンドボックスでユーザーを作成して保存できました。

次に、次のような検証を追加しました。

validates(:name, presence: true)

変更を保存し、コンソールに戻り、次のように言いました。

>> user = User.new(name: "", email: "mhartl@example.com")
>> user.save

name が空白であるため、FALSE を返す必要があります。しかし、それは真実を返しました。なんで?たぶん、サンドボックス コンソールを再起動する必要がありますか?

4

2 に答える 2

2

やってみてください:

reload!

コンソールで。

これにより、モデルがリロードされ、新しい検証が取得されます。これにより、コンソールを再起動する必要がなくなります。私はこれを1日に何億回も使用しています。:D

于 2013-01-15T17:23:49.220 に答える
0

はい、気にしないでください。サンドボックス コンソールを再起動したところ、検証が正しく機能するようになりました。

于 2013-01-15T17:23:37.777 に答える