Techioz Blog

インデックス abc の名前は def に変更されます。

概要

私は Rails 3 を初めて使用しますが、何かを HTML フォームにレンダリングしようとしています。

<td class="kanban-task-handler">by: <%=h (!@tasks[activity['taskid']]['assignee'].nil? ? @tasks[activity['taskid']]['assignee'] : '') %></td>

しかし、このエラーが発生します:

undefined method `[]' for nil:NilClass):

しかし、私はこの変数をチェックし、それがnilであるかどうかを示しています–>その後は何も出力しません… それで、なぜこれがうまくいかないのですか?

解決策

ここで何をしようとしているのかわかりませんが、ここでは @tasks が nil のようです。 @tasks.nilで確認してみてはいかがでしょうか

ただし、@tasks が配列の場合は nil が得られないことを覚えておいてください。 -> true 代わりに .empty を使用する必要がありますか?

これを確認するより安全な方法は次のとおりです。

@task.try(:attribute).try(:attribute2) etc