2010-11-24 2 views
4

나는 항상 컨트롤러의 "업데이트"기능에 양식을 제출하는 양식이 있으며 "remote_form_for"태그를 사용하여이 양식을 만들었습니다. 이 양식에는 여러 테이블의 개체가 있으며이 양식에서 AJAX 요청을 통해 전체 양식 데이터를 다른 기능 ("업데이트"기능 아님)에 제출하려고합니다. 액션레일 : submit_tag에서 양식 동작 변경

<% remote_form_for @employee, :url => organization_employee_path(@organization, @employee), :method => :put do |employee_form| %> 
    // form objects and other functionalities 
    .... 
    .... 
     // views inside the forms 
     <div id="employee_header_div"> 
      <%= render :partial => "employee_header", :locals => {:employee => @employee} %> 
     </div> 
     ... 
     ... 
    <%= submit_tag "page_level_validation", :id => "page_level_validation" , :action=>"validate"%> 
<% end %> 

그러나 Ajax 요청이 항상 같은 "갱신"함수를 호출하여 태그를 제출하여 포함

내가 시도 많은 방법.

누군가가이 문제를 해결하는 데 도움이된다면 매우 도움이 될 것입니다.

+0

보기 코드를 게시 할 수 있습니까? 또한, 사용중인 레일스 버전 ... 'form_remote_for'는 레일스 3에서 사용되지 않습니다. –

+0

레일즈 버전 3.0.0을 사용하고 있으며 뷰 코드는 다음과 같습니다. <% remote_form_for @provider, : url => company_provider_path (@ company), : method => : put do | provider_form | %>. 이 양식의 측면에서는 양식 값을 업데이트하기 위해 AJAX 호출을 사용하고 있으며 이제 유효성 검사를 위해 다른 세부 함수에 동일한 세부 정보를 전달하려고합니다. "% = submit_tag"page_level_validation ", : id =>"page_level_validation ", : action =>"validate "%> '태그를 사용했지만 AJAX를 통해 동일한'업데이트 기능 '에 세부 사항을 전달합니다. –

+0

그래서 나는 레일즈 3에서 사용하고있는 remote_form_for에 문제가있다. 그럼 그 대신에 내가 무엇을 사용해야 하는가? 나는 이미이 형식 안에 많은 기능을 썼다. 양식 변경이 기능에도 영향을 줍니까? –

답변

-1

이 시도 : 당신은 당신이 HTML5의 formaction 속성을 사용하여 브라우저 호환성 결과를 처리하지 않으려면이 (지정한 기본 양식이 아닌 다른 곳을 가리 키도록 제출 설정할 수 없습니다

<% form_for @employee, :remote => true, :url => organization_employee_path(@organization, @employee), :method => :put do |employee_form| %> 
0

).

그러나 사용자가 할 수있는 일은 상황을 처리하는 컨트롤러에서 새 작업을 만드는 것입니다. 컨트롤러에서

예컨대 ..

<% remote_form_for @employee, :url => organization_employee_validate_path(@organization, @employee), :method => :put do |employee_form| %> 

def validate 
    #do something loosely based around the update method 
end 

적절한 경로를 추가 잊고 없습니다.