2013-06-26 2 views
0

저는 레일즈 3.0.10과 루비 1.8에서 레일즈 3.2와 루비 1.9로 레일 프로젝트를 최근에 업그레이드했습니다. 그러나 업그레이드가 끝나면 지금까지 문제가 발생하지 않은 뷰 중 하나가 오류를 발생시킵니다. 해당 뷰 코드는 내 index.html.erb에서 가져온 것입니다.레일의 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| @... 

나는 그것이이 안 말 쉼표 가리키는 것을 얻을 수 있지만, 내가 왜하지 않으며, 아마도 더 중요한 것은, 왜 레일 3.0.10에서 지금은 아니지만 불평 않고 루비 1.8?

답변

1

메서드 매개 변수와 함께 괄호 앞에 공백이 있으므로이 오류가 발생합니다. 해당 브래킷 (또는 공백)을 제거하면 정상적으로 처리되어야합니다.

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

구문 오류이므로 다운로드 할 수있는 이유는 프레임 워크 업데이트가 아닌 언어 업데이트입니다.

+0

그 트릭을했습니다. 감사! –