我有一个模型条目,它属于日记。期刊具有公开的能力,因此属于公共期刊的条目也将是公开的,它将从期刊中获得该属性。
我有一个除非声明只将其转移到索引unless @entry.is_public? || current_user.owns_entry? @entry
我有一个简单的方法
def is_public?
journal.public_access?
end
另一个非常简单。我遇到的问题是,当我尝试使用or
代替||
时,它工作正常,但当我使用||
时,它会给我一个unexpected tIVAR, expecting keyword_end
我正在尝试弄清楚问题是什么,因为rubocop告诉我,我需要使用||
,我想要符合ruby约定。谁知道问题是什么?
答案 0 :(得分:3)
在这种情况下,你需要围绕你的论点括起来,即current_user.owns_entry?(@entry)
。
unless @entry.is_public? || current_user.owns_entry?(@entry)
# ...
end
一般来说,除了最简单的情况外,你应该使用括号,以提高可读性和避免语法问题。