最近、Rails プロジェクトを Rails 3.0.10 と Ruby 1.8 から Rails 3.2 と Ruby 1.9 にアップグレードしました。ただし、アップグレード後、これまで問題を引き起こしたことのないビューの 1 つがエラーをスローするようになりました。問題のビュー コードは、私の index.html.erb からのものです。
<%= form_tag ({:controller => 'upload', :action => 'single_content'}, :multipart => true) do |f| %>
<%= hidden_field 'upload', 'single_content_row_id' %>
<%= file_field 'upload', 'single_content', :multiple => false, :hidden => 'true' %>
<% end %>
これはアップグレード前は問題なく動作していましたが、今ではこれが得られます。
ActionView::Template::Error (./rails-root/app/views/index/index.html.erb:173: syntax error, unexpected ',', expecting ')'
..., :action => 'single_content'}, :multipart => true) do |f| @...
そこにあってはならないというコンマを指しているのはわかりますが、理由がわかりません。おそらくもっと重要なのは、なぜ今は文句を言うのに、Rails 3.0.10 と Ruby 1.8 では文句を言わないのですか?