0

我最近刚刚将 Rails 项目从 Rails 3.0.10 和 Ruby 1.8 升级到 Rails 3.2 和 Ruby 1.9。但是,升级后,以前从未给我带来麻烦的视图之一现在正在抛出错误。有问题的视图代码来自我的 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 下?

4

1 回答 1

1

您有此错误,因为您在括号前留有空间与方法的参数。删除那个括号(或空格),它应该没问题:

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

由于这是一个语法错误,你得到这个的原因是语言更新,而不是框架更新。

于 2013-06-26T22:14:28.683 回答