2011-09-26 3 views
2

레일 3.1로 업그레이드했는데 이제는 form_tag가 더 이상 작동하지 않아 전혀 오류가 발생하지 않습니까?레일 3.0.7 -> 3.1로 업그레이드 할 때 form_tag가 작동하지 않습니다.

<% form_tag({:action => 'search'}, :remote => true) do %> 
     <%= select_tag "prod_id", options_for_select(["-"]) %> 
     ... 
    <% end %> 

극적으로 변경되어 내 코드를 변경해야합니까? 귀하의 의견에 미리

+0

development.log에서보세요 - 거기에 오류가 있습니까? – halfdan

+1

"작동하지 않음"을 정의하십시오. – Chowlett

답변

8

코드 블록

감사합니다 (예를 들어 같은 form_for는) 지금 <% %> 대신 <%= %> 구문을 사용해야합니다.

는 다음과 같이하도록 코드의 첫 번째 줄을 변경

:

<%= form_tag({:action => 'search'}, :remote => true) do %> 

하고 갈 수 있어야합니다.

이 변경 사항은 실제로 Rails 3.0 베타 중 하나에서 발생했다고 생각합니다. 약간의 문서를 보려면 http://asciicasts.com/episodes/208-erb-blocks-in-rails-3을 확인하십시오.

+0

감사합니다! 이상하게도 3.0.7에서 작동 했습니까? :) – Philip

+0

그래, 나는 레일즈 3.1로 업그레이드했을 때만이 이슈를 알아 차렸다. 3.0.x에서 나에게도 도움이되었다. "구식"구문이 3.0.x에서 폐기되었으며 3.1에서 완전히 지원되지 않는다고 추측합니다. – BaronVonBraun

+0

예, 아마 :) – Philip

관련 문제