-2

我正在使用 ruby​​ 2.1.5,遇到三元运算符的一些问题

语法错误

request.xhr?  ? render :json => "success"  : redirect_to index_url

在职的

request.xhr?  ? render(:json => "success") : redirect_to(index_url)

有人可以解释一下它的工作原理以及为什么上面的一个不起作用吗?提前致谢

4

1 回答 1

0

当您使用速记语法(不带括号)时,ruby 期望直到行尾的所有内容都成为您的方法的参数。因此,您的“语法错误”示例被理解为:

request.xhr?  ? render(:json => "success"  : redirect_to index_url)

这显然是错误的。

于 2015-05-06T10:11:38.917 回答