Ruby语法错误,意外的tIVAR,期待keyword_end

时间:2015-12-01 01:16:39

标签: ruby-on-rails ruby

我有一个模型条目,它属于日记。期刊具有公开的能力,因此属于公共期刊的条目也将是公开的,它将从期刊中获得该属性。

我有一个除非声明只将其转移到索引unless @entry.is_public? || current_user.owns_entry? @entry

我有一个简单的方法

def is_public?
  journal.public_access?
end

另一个非常简单。我遇到的问题是,当我尝试使用or代替||时,它工作正常,但当我使用||时,它会给我一个unexpected tIVAR, expecting keyword_end我正在尝试弄清楚问题是什么,因为rubocop告诉我,我需要使用||,我想要符合ruby约定。谁知道问题是什么?

1 个答案:

答案 0 :(得分:3)

在这种情况下,你需要围绕你的论点括起来,即current_user.owns_entry?(@entry)

unless @entry.is_public? || current_user.owns_entry?(@entry)
  # ...
end

一般来说,除了最简单的情况外,你应该使用括号,以提高可读性和避免语法问题。