Ruby on rails 如何从json请求动态更新Rail字段?

Ruby on rails 如何从json请求动态更新Rail字段?,ruby-on-rails,ajax,json,Ruby On Rails,Ajax,Json,假设Rails应用程序有一辆汽车和一个订单模型。汽车模型包含名称和颜色字段。订单模型包含一个car_id字段和一个color字段,以便用户可以根据需要指定替代颜色 当用户创建新订单时,他们可以从选择字段中选择汽车名称。如何在此事件中使用颜色动态更新文本字段 订单表单包含以下字段: <select id="order_car_id></select> <input id="order_color"></input> 这个函数响应事件并获取json数

假设Rails应用程序有一辆汽车和一个订单模型。汽车模型包含名称和颜色字段。订单模型包含一个car_id字段和一个color字段,以便用户可以根据需要指定替代颜色

当用户创建新订单时,他们可以从选择字段中选择汽车名称。如何在此事件中使用颜色动态更新文本字段

订单表单包含以下字段:

<select id="order_car_id></select>
<input id="order_color"></input>
这个函数响应事件并获取json数组

$(function (){
    $('#order_car_id').live("change", function(e) {
    e.preventDefault();
      $.ajax({
        url: "/cars/" + $(this).val(),
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: function(data) {
            $('#order_color').val(car[0].color);
        },
        error: function(xhr,exception,status) {
          //error functions...
        }
      });
    });
});
但是我越来越

Uncaught ReferenceError: car is not defined
将值从json数组传递到order_color字段的正确语法是什么?我尝试了$'order_color'.valcar[0]的各种排列;但我似乎不明白

如果有人能给我指出正确的方向并了解它的工作原理,我将不胜感激


谢谢大家!

看起来像是你的成功函数,你没有定义什么是车

您的函数正在传递“数据”,但该函数中没有定义“car”

您需要从数据对象中提取car

首先,将console.logdata添加到success函数中,以便查看数据响应的结构

function(data) {
  console.log(data);
  //$('#order_color').val(car[0].color);
}
你可能会得到类似的回报:

data:{
  car:{
    color:"blue"
    size:"large"
  }
}
了解数据对象的格式后,可以通过以下方式进行访问:

$('#order_color').val(data.car.color);

看看普通更新和新AJAX方法中的参数。有什么不同吗?
$('#order_color').val(data.car.color);