2016-10-13 9 views
-1

레일에 루비가 새롭다. 여러 매개 변수가있는 자바 스크립트에서 컨트롤러 메서드를 호출하고 싶다. 시도했지만 출력이 없습니다. _applied_candidate.html.erb레일에서 자바 스크립트에서 컨트롤러 메서드를 호출하는 방법

<p>Next Status: <span class="fontstyle3"> 

      <select name="workflow_id" id="workflow_id" onchange="updateItem('workflow_id', <%= applied_candidate.id %>, <%= job.id %>)">   
      <% data.each do | d | %>     
       <option value="">Please select</option> 
       <% d.next_step.split(',').each do | s | %> 
        <% data1 = CandidateWorkFlow.select(:workflow_step).where("step_id = ?",s) %>     
        <% data1.each do |l| %> 
         <option value=<%= s%>> <%= l.workflow_step %> </option>   
        <% end %> 
        <% end %>     
      <% end %> 
      </select> 
     </span> 
     </p> 


<script type="text/javascript"> 
    function updateItem(item, userID, jobID) { 
    var e = document.getElementById(item); 
    var val = e.options[e.selectedIndex].value; 
    new Ajax.Request('/jobs/update_work_flow', { 
        method: 'post', 
        parameters: { selected_id: item, u_id: userID, job_id: jobID } 
       }); 


};</script> 

routes.rb

resources :jobs do 
    get :update_work_flow, on: :collection 

단부

jobs_controller.rb

def update_work_flow 
redirect_to root_path 
,

최종 컨트롤러 메소드 호출 확인하는 방법

또는 routes.rb에하지

답변

2

, 동안,

resources :jobs do 
    post :update_work_flow, on: :collection 

가 JS에서, 당신은 '포스트'방법으로 지정한 다음 변경 사항을 확인하시기 바랍니다 경로에서 'get'메소드를 지정했습니다. 게시로 변경하면 코드가 작동합니다.

+0

답장을 보내 주셔서 감사합니다. 게시글로 대체했지만 여전히 작동하지 않습니다. 이 작업을위한 또 다른 옵션이 있다면 제게 제안 해주세요. –

관련 문제