ruby-on-rails - ruby,如何使用 AND & OR 构建 if block

标签 ruby-on-rails ruby ruby-on-rails-3

现在我有以下内容:

<% if !@thread.nil? && @thread.name == 'X' || @thread.name == 'Y' %>
 ....

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

正确的写法是这样的:

<% if !@thread.nil? && @thread.name == ('X' || 'Y') %>

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

谢谢

最佳答案

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

关于ruby-on-rails - ruby,如何使用 AND & OR 构建 if block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820573/

相关文章:

ruby-on-rails - 如何使用 Rails 中的 css 和图像创建电子邮件?

ruby-on-rails - 将产品标记为已消耗,Rails 方式?

ruby-on-rails-3 - 使用rake转储和加载数据库

ruby-on-rails-3 - 使用 omniauth-facebook "Invalid Credentials"设计

ruby-on-rails - 如何使用 Ruby on Rails 在初始化程序中调用应用程序模型

ruby-on-rails - Ruby on Rails - 当我非常确定我有模板时缺少模板错误

ruby-on-rails - 升级到 Rails 6 导致 CentOS 上的 SQLite 依赖错误

ruby 和 :symbols

ruby - 我如何使用 OAuth 2.0 为谷歌在 Ruby 中的预测 API 授权?

ruby - ".includes?"中的问号在 ruby​​ 中是什么意思?