0

ここで説明されている resource_controller の原則に従うコントローラーを使用しています。

ご覧のとおり、(新規、作成など) すべてのプリロード データを完全に制御することはできません。つまり、新しいエンティティを作成する場合は@user、次のコードが既に呼び出されているとし@user = User.newます。

いくつかの検証を含めることができる唯一の方法は、コールバックを使用することですが、コールバックが新しいメソッドをキャンセルすることを決定すると、常にハッシュ フリーズ エラーが発生します。というか、なんとも言えない @user = User.new @user.destroy

私が思いついた唯一のハックは @user = User.new @user.save @user.destroy

データベースに保存する必要のない、より良い方法を知っている人はいますか? ところで、アクティブなレコードとアクティブなモデルの違いは何ですか?

4

1 に答える 1

1

破棄する前に保存されているかどうかを確認してみてはどうでしょうか。

@user.destroy unless (@user.new_record?)
于 2011-05-25T02:00:24.317 に答える