Ruby on rails 在rails中保存通过ajax从视图接收的数据
在控制器中中止时,这是我从Ajax调用中获得的javascript对象的格式:Ruby on rails 在rails中保存通过ajax从视图接收的数据,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,在控制器中中止时,这是我从Ajax调用中获得的javascript对象的格式: { "j_identifier" = > "24942", "charge" = > { "0" = > { "complainant" = > "", "address" = > "", "name" = > "",
{
"j_identifier" = > "24942",
"charge" = > {
"0" = > {
"complainant" = > "",
"address" = > "",
"name" = > "",
"agency" = > "",
"codefendant" = > {
"0" = > {
"name" = > "sdfsdsd",
"address" = > "fsdf",
"phone" = > "sdf"
},
"1" = > {
"name" = > "sdfs",
"address" = > "sdfs",
"phone" = > "sdf"
}
}
},
"1" = > {
"complainant" = > "",
"address" = > "",
"name" = > "",
"agency" = > "",
"codefendant" = > {
"0" = > {
"name" = > "sdfsdsd",
"address" = > "fsdf",
"phone" = > "sdf"
},
"1" = > {
"name" = > "sdfs",
"address" = > "sdfs",
"phone" = > "sdf"
}
}
}
}
}
这是我获取数据并保存数据的步骤:
jcharge = params[:charge]
if !jcharge.nil?
jcharge.each do |key,charge|
e = JCharge.new(charge)
e.cmap_id = data.id
e.save
charge_id = e.id
codefd = charge.codefendant
if !codefd.nil?
codefd.each do |k,codef|
cod = JuCharge.new(codef)
cod.jucharge_id = data.id
cod.save
end
end
end
end
我遇到了以下解析错误:
undefined method `codefendant' for #<ActiveSupport::HashWithIndifferentAccess:0x44b5ab0>
未定义的方法“codefendent”#
在您的示例中,费用
是散列。可以使用方括号访问其值:
charge.codefendant # undefined method
charge[:codefendant] #=> ...
非常感谢您澄清了散列的概念,这就是问题所在。