25

私はRubyonRails 3を使用していますが、どのタイプの返品に次のコードが含まれるか知りたいです。

@user.destroy

私はこのように何らかの形で成功失敗のケースを処理するためにそれが必要です:

if @user.destroy
  puts "True"
else
  puts "false"
end

出来ますか?もしそうなら、どのように?

4

2 に答える 2

37

尋ねる前に、あなたが求めていることを試してみるべきです。あなたがそこに持っているものはうまくいくでしょう。

破棄が機能する場合は、オブジェクトを返し(ifステートメントでtrueとして渡されます)、そうでない場合は、失敗した理由に応じてfalseを返すか、例外を発生させます。

于 2011-02-07T14:30:20.343 に答える
18

それが可能だ。destroyメソッドは、破棄されたオブジェクトを返します。このActiveRecordオブジェクトで使用destroyed?して、オブジェクトが効果的に破棄されているかどうかを確認できます。

if @user.destroyed?
  puts "True"
else
  puts "false"
end
于 2011-02-07T14:28:16.523 に答える