2016-10-13 59 views
-1

我是新的紅寶石在rails上,我想從多個參數調用javascript的控制器方法。我試過但沒有輸出。 _applied_candidate.html.erb如何在JavaScript中調用控制器方法javascript

<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 

如何檢查稱爲控制器的方法或不

回答

2

在routes.rb中,請進行以下更改,

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

在JS,你已經指定爲「後」的方法,而在路由中,你已經指定了一個'get'方法。嘗試改爲發佈,代碼應該工作。

+0

感謝您的回覆,我取代了後得到但仍然無法正常工作。如果你有另一個選擇這個任務,請給我建議.. –

相關問題