Rails3のflashの新記法ではまった

Rails3のredirect_toで:noticeオプションを付けることでflashを使えるようになった。

ということで

flash[:notice] = 'message'
redirect_to :action => 'index'

と書いていたものを

redirect_to {:action => 'index'}, :notice => 'message'

と修正したのだがこのままだとエラーになってしまう。
ネットで調べると、どうやら引数で渡したハッシュの「{」記号がブロックとして解釈されてしまうらしい。

redirect_to ({:action => 'index'}, :notice => 'message')

このように引数全体をカッコで括ってもだめ。


結局以下の書き方が正解だった。

redirect_to ({:action => 'index'}), :notice => 'message'

とても気持ち悪いけど仕方ないのかな?