我最近在查看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
。我不确定为什么会在}
那里期待,以及为什么使用括号会改变这一点。