期望keyword_do的单行if-else语句

时间:2016-02-15 22:55:02

标签: ruby-on-rails ruby if-statement syntax-error

我已经使用单行if-else语句很长一段时间了,就在最近我一再得到这个错误:

resource.errors.any? ? render :new : do_something_else!

这是我在当前示例中使用的语法,并且我检查了语法是否正确的双重,三重和四重:

foo = [1,2,3]
foo.any? ? 'bar' : 'baz'

我已经四处检查过,似乎无法找到任何更改或类似问题。奇怪的是,当我跑步时

render

在我的终端中,我没有错误。我非常确定我已经复制了我在这里所有相关方面要做的事情,但似乎无法找到为什么会发生这种情况的暗示。我认为render 'new'可能存在问题,但我不认为是这种情况,因为我在尝试使用insertAtFront()时使用字符串而不是符号

1 个答案:

答案 0 :(得分:3)

您需要将render参数括在括号中。

resource.errors.any? ? render(:new) : do_something_else!

否则,解析器将无法理解参数的开始位置。