问个小白问题 模板里出现
<%= @topic.node&.name || '选择节点...' %>
这里的& 是干什么用的
@topic.node&.name 相当于 @topic.node.try(:name),意思是@topic.node为 nil 的话,这里不会报错,最后结果也是 nil
还是有区别,如果@topic.node
,不能响应name
方法或者出现异常的话。使用@topic.node.try(:name)
,是不会报错的;但是@topic.node&.name
,前者不为空是会报错的。