文字列「私の名前は#{@ user.name}」について考えてみましょう。したがって、この部分「#{@user.name}」のエラーを確認して処理する必要があります。エラーは、「#{user.name}」(ユーザーオブジェクトが未定義)または「#{other_object.name}」、またはユーザーテーブルに属していない属性へのアクセスが原因である可能性があります。
3 に答える
0
次を使用できます。
name = "#{object.name}" if object.respond_to?(:name)
object
メソッドに応答しない場合( is#name
の場合も処理します)、変数に割り当てられます。object
nil
nil
name
于 2012-08-10T09:45:26.570 に答える
0
これを試して
"My name is #{@user.try(:name)}"
TRY メソッドは、例外をキャッチすると nil を返します。エラーは発生しません。
于 2012-08-10T10:04:29.977 に答える
0
簡単なエラー処理
begin
string = "My name is {@user.name}"
rescue
string = "My name is not currently available"
end
于 2012-08-11T21:02:51.093 に答える