5

プロファイルが nil のとき、私を悲しませ続けます...どうすればよいですか?

4

3 に答える 3

7

ビューで変数を使用する前に、変数が存在するかどうかを常に確認してくださいnil

<% image_tag this.profile.expiring_url(180) unless this.profile.nil? %>

この問題にはもっと洗練された解決策があると思いますが、それで始められるはずです。

于 2010-04-25T19:41:17.643 に答える
6

これもうまくいくはずです

<%= image_tag(this.profile.expiring_url(180)) rescue "no image!" %>
于 2010-04-26T05:01:45.463 に答える
2

まず、プロファイルがない場合に何をしたいかを決める必要があります。デフォルトの画像を表示しますか? 全然イメージない?

デフォルトの画像を表示したいと仮定すると、ヘルパーにメソッドを追加できます。

def expiration_url_for( profile )
  (profile && profile.expiring_url(180)) || default_url
end

次に、ビューでそのヘルパー メソッドを呼び出します。

<%=image_tag expiration_url_for( this.profile )%>
于 2010-04-25T20:42:25.397 に答える