如何在rails中的ruby中的ajax请求中将控制器名称作为url?

时间:2016-05-03 17:16:20

标签: jquery ruby-on-rails ruby ajax

我收到路由错误没有路由匹配[POST]“/ update_cities”下面是我的代码。我无法找出url中的ajax请求应该给出的确切值。请帮帮我,我是新手。

**Ajax request** 
$(document).ready(function(){
$('#state_select').on('change', function(){
$.ajax({  
  url: "/update_cities",
  type: "POST",
  data: {state_id: $(this).val()}
})
.done(function(data) {
   $.each(data, function (i, item) {
    $('#city_select').append($('<option>', { 
        value: item.value,
        text : item.text 
    }));
   });
  });
  }); });

**Route**
post 'colleges/update_cities' => 'colleges#update_cities'

**Action in colleges_controller file**
def update_cities
  @cities = City.where("state_id = ?", params[:state_id])
  respond_to do |format|
  format.js
  end
  end

1 个答案:

答案 0 :(得分:0)

  

路由错误没有路由匹配[POST]“/ update_cities”

根据您的路线,应更改为$(document).ready(function(){ $('#state_select').on('change', function(){ $.ajax({ url: "/colleges/update_cities", type: "POST", data: {state_id: $(this).val()} }) .done(function(data) { $.each(data, function (i, item) { $('#city_select').append($('<option>', { value: item.value, text : item.text })); }); }); }); }); 。以下代码应该可以使用

main/101/tarantoolctl C> version 1.6.8-654-ge91080f