2

文字列「私の名前は#{@ user.name}」について考えてみましょう。したがって、この部分「#{@user.name}」のエラーを確認して処理する必要があります。エラーは、「#{user.name}」(ユーザーオブジェクトが未定義)または「#{other_object.name}」、またはユーザーテーブルに属していない属性へのアクセスが原因である可能性があります。

4

3 に答える 3

0

次を使用できます。

name = "#{object.name}" if object.respond_to?(:name)

objectメソッドに応答しない場合( is#nameの場合も処理します)、変数に割り当てられます。objectnilnilname

于 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 に答える