2014-03-07 1 views
0

현재 설정 : Ruby on Rails 2.3 with Ruby 1.8.7 (묻지 말고 ... 우리가 작업 중입니다).Ruby on Rails 2.3, form_tag가 Rails 컨트롤러에 제출되었습니다. JS 함수가 호출되지 않았습니다.

hello는 Bootstrap 모달에서 Rails 컨트롤러의 동작을 호출하는 데 사용됩니다. 다음은 뷰 컨트롤러의 동작이 제대로이라고

- form_tag({:action => 'update_logins'}, 
{:method => :post, :multipart => true, :id => 'upload_form', :target => 'upload_target', :class=>'form-horizontal' }) 

(.haml)입니다하지만 자바 스크립트 함수를 호출을 반환하고, 수많은 시도에도 불구하고,이 함수를 호출하지 않으며, 대신 렌더링 것으로 보인다 본문. 심지어 간단한 컨트롤러의 문이 작동하지 않는 렌더링 : render :js => "alert('hello');"

을 나는이 요청 헤더가 동의하지 않는 것 같습니다 방법과 관련이있다 느낌이 자바 스크립트 :

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

응답 헤더는 자바 스크립트를 나타냅니다 : Content-Type:text/javascript; charset=utf-8

그리고 응답이 제대로 수신 : alert('hello');

그러나 교류에 점점 더 성공 모든 기능을 호출하십시오.

아이디어가 있으십니까?

답변

0

템플릿 엔진에 SLIM/HAML을 사용하고 있다고 가정합니다. 확인 당신이

= form_tag({:action => 'update_logins'},{:method => :post, :multipart => true, :id => 'upload_form', :target => 'upload_target', :class=>'form-horizontal' }) 

이 방법을

- form_tag({:action => 'update_logins'},{:method => :post, :multipart => true, :id => 'upload_form', :target => 'upload_target', :class=>'form-horizontal' }) 

를 교체하려고 할 수 있습니다 HTML

<form> 태그를 생성하는 경우, 그것은 당신의 HTML에 <form>를 생성합니다.

+0

이미 '

'이 (가) HTML에 있습니다. 그것을 시도하기 위해 이것을 변경하면 불행히도 상황이 깨지고 모달도 더 이상 올 수 없습니다. ActionView :: TemplateError (form_tag는 Haml 템플릿으로 직접 출력합니다. 반환 값을 무시하고 - 연산자를 사용합니다. , 또는 capture_haml을 사용하여 값을 문자열로 가져옵니다 .' –