0
以下の方法があるとします。 comment.story.teams.first
の結果がnil
の場合、このコードを安全にするにはどうすればよいですか?Rails:メソッドチェインのベストプラクティスをチェックしない
私はcomment.story.teams.first.try(:users)
を試しましたが、それは道路の下で缶をキックし、割り当てusers -= [@current_user]
はundefined method
エラーをスローします。
def recipients
if comment.commentable_type == "Story"
users = comment.story.teams.first.users
else
users = comment.other_commenters + [comment.commentable_user]
end
users -= [@current_user]
users.uniq
end
ここで使用できるパターンはありますか?
あなたの知性を侮辱しようとしているのではなく、これを考えていない場合は: '' '(users || []) - = [@current_user]' ''またはそれ以前の '' 'users = comment .story.teams.first.try(:users)|| [] '' ' – laertiades
決して侮辱されません。私が頻繁に行うように、言語を切り替えるときのベストプラクティスについてちょっと混乱させました。これはうまくいく。どうも。 – Meltemi