2013-06-26 21 views
0

我剛剛將Rails項目從Rails 3.0.10和Ruby 1.8升級到了Rails 3.2和Ruby 1.9。但是,在升級之後,其中一個從未給我帶來麻煩的視圖現在正在拋出一個錯誤。有問題的視圖代碼來自我的index.html.erb。Rail的form_tag在Ruby 1.9和/或Rails 3.2下的語法是否改變?

<%= 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?

回答

1

你有這個錯誤,因爲你用方法的參數在括號前留空格。卸下支架(或空間),它應該是確定:

<%= form_tag {:controller => 'upload', :action => 'single_content'}, :multipart => true do |f| %> 

由於這是一個語法錯誤,你得到的原因,這是語言的更新,不更新框架。

+0

這樣做。謝謝! –

相關問題