我已经使用单行if-else语句很长一段时间了,就在最近我一再得到这个错误:
resource.errors.any? ? render :new : do_something_else!
这是我在当前示例中使用的语法,并且我检查了语法是否正确的双重,三重和四重:
foo = [1,2,3]
foo.any? ? 'bar' : 'baz'
我已经四处检查过,似乎无法找到任何更改或类似问题。奇怪的是,当我跑步时
render
在我的终端中,我没有错误。我非常确定我已经复制了我在这里所有相关方面要做的事情,但似乎无法找到为什么会发生这种情况的暗示。我认为render 'new'
可能存在问题,但我不认为是这种情况,因为我在尝试使用insertAtFront()
时使用字符串而不是符号
答案 0 :(得分:3)
您需要将render
参数括在括号中。
resource.errors.any? ? render(:new) : do_something_else!
否则,解析器将无法理解参数的开始位置。