ruby,如何使用AND&OR构造if块

AnA*_*ice 2 ruby ruby-on-rails ruby-on-rails-3

现在我有以下内容:

<% if !@thread.nil? && @thread.name == 'X' || @thread.name == 'Y' %>
 ....
Run Code Online (Sandbox Code Playgroud)

这里的问题是我相信无论是否@@thread.nil?,仍然会调用@ thread.name导致错误.

写这个的正确方法是什么,就像这样:

<% if !@thread.nil? && @thread.name == ('X' || 'Y') %>
Run Code Online (Sandbox Code Playgroud)

某些类型包含在列表中?对于thread.name?

谢谢

Mch*_*chl 7

if !@thread.nil? && ['x','Y'].include?(@thread.name)