最近我在查看Rails文档中的一些Ruby代码时,发现了一个奇怪的问题。
Ruby可以像这些例子一样传递参数:
redirect_to post_url(@post), alert: "Watch it, mister!"
redirect_to({ action: 'atom' }, alert: "Something serious happened")
但是第二种情况对我来说看起来很奇怪。似乎你应该可以这样传递它:
redirect_to { action: 'atom' }, alert: "Something serious happened"
无论是否使用括号,意思都是相同的。但是你得到的是:
syntax error, unexpected ':', expecting '}'
提到action
后面的冒号。我不确定为什么它会期望在那里有}
,以及为什么使用括号会改变这一点。