javascript - 如何从rails中的javascript调用 Controller 方法

标签 javascript ruby-on-rails ruby ruby-on-rails-3

我是 ruby​​ on Rails 的新手,我想使用多个参数从 javascript 调用 Controller 方法。我尝试过,但没有得到输出。 _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

结束

如何检查 Controller 方法是否被调用

最佳答案

在routes.rb上,请进行以下更改,

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

在 Js 中,您指定了“post”方法,而在路由中,您指定了“get”方法。尝试更改为 post ,代码应该可以工作。

关于javascript - 如何从rails中的javascript调用 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40014040/

相关文章:

ruby-on-rails - Pluck 和 ids 给出非唯一元素的数组

arrays - 为什么 3[0] 和 3[1] 在 Ruby 中结果为 1?

php - AJAX 调用在没有明显原因的情况下破坏 session

javascript - 了解如何使用 reduce 代替 map 和 join 这个函数

ruby-on-rails - 在 Cucumber Ruby 上测试 HTTP 和 HTTPS

ruby - 正确使用 Ruby 语句修饰符

javascript - 使用循环向 Firestore 的 get() 添加多个条件,一般 javascript 问题

javascript - 组合的自定义过滤器

javascript - highcharts Canvas 工具 : Cannot read property 'prototype' of undefined

ruby-on-rails - PG::ConnectionBad:连接到套接字 "/var/run/postgresql/.s.PGSQL.5432"上的服务器失败:没有这样的文件或目录