0

トランザクションでは、顧客がservice_idカートに追加サービスを追加しなかったために持っていないことがあります。問題は、transactionsインデックスページがundefined method 'name' for nil:NilClassオンラインで返されることです

<%= transaction.service.name %>

より良い方法はありますか

<%= transaction.service.present? ? transaction.service.name : nil %>

このNULL OBJECT PATTERNの記事を見つけました。それが私のシナリオにどのように適用されるかよくわかりませんでした。

4

1 に答える 1

2

または、これを行うことができます:

transaction.service.try(:name)

service が nil でない場合、その名前を返します。または、それ以外の場合に戻りnilます。

于 2013-01-28T04:41:03.583 に答える