Javascript 将Rails结果散列为数组对象JSON
我有这样一个rails查询Javascript 将Rails结果散列为数组对象JSON,javascript,ruby-on-rails,json,angularjs,Javascript,Ruby On Rails,Json,Angularjs,我有这样一个rails查询 @c = RealEstateAgentAssignmentStatus.joins(:real_estate_agent_assignments =>:loan_application) .group("real_estate_agent_assignment_statuses.assignment_status").select("real_estate_agent_assignment_statuses.assignment_status,coun
@c = RealEstateAgentAssignmentStatus.joins(:real_estate_agent_assignments =>:loan_application)
.group("real_estate_agent_assignment_statuses.assignment_status").select("real_estate_agent_assignment_statuses.assignment_status,count(real_estate_assignments.loan_application_id)")
.where("real_estate_agent_assignments.real_estate_agent_id = 188").count
data["Submitted]
data.status , data.value
好的,我有一个json格式的rails结果,如下所示
@c = RealEstateAgentAssignmentStatus.joins(:real_estate_agent_assignments =>:loan_application)
.group("real_estate_agent_assignment_statuses.assignment_status").select("real_estate_agent_assignment_statuses.assignment_status,count(real_estate_assignments.loan_application_id)")
.where("real_estate_agent_assignments.real_estate_agent_id = 188").count
data["Submitted]
data.status , data.value
变量数据={“被客户/银行拒绝”:1, “筛选失败”:2, “已提交”:2, “处理阶段”:3 } 它是json格式的,因为我必须将它传递给angularJS并在那里使用它 现在我只能这样称呼它
@c = RealEstateAgentAssignmentStatus.joins(:real_estate_agent_assignments =>:loan_application)
.group("real_estate_agent_assignment_statuses.assignment_status").select("real_estate_agent_assignment_statuses.assignment_status,count(real_estate_assignments.loan_application_id)")
.where("real_estate_agent_assignments.real_estate_agent_id = 188").count
data["Submitted]
data.status , data.value
我如何在rails中散列我的结果,或者将结果放入一个数组,这样我就可以这样调用它了
@c = RealEstateAgentAssignmentStatus.joins(:real_estate_agent_assignments =>:loan_application)
.group("real_estate_agent_assignment_statuses.assignment_status").select("real_estate_agent_assignment_statuses.assignment_status,count(real_estate_assignments.loan_application_id)")
.where("real_estate_agent_assignments.real_estate_agent_id = 188").count
data["Submitted]
data.status , data.value
我想在rails中映射它,但它给了我一个错误
感谢您的帮助。
感谢Ruby中的:
在Javascript中:
导轨
使用
或者您可以定义散列类中缺少的自己的方法。但这不是一个好主意
def method_missing(m)
key = m.to_s
return self[key] if self.has_key? key
super
end
在我的所有情况下,您都需要使用键status
和value
进行散列。要转换哈希,请执行以下操作:
new_hash = h.map{ |key, value| OpenStruct.new({status: key, value: value }) }
或者不使用OpenStruct:
new_hash = h.map{ |key, value| {status: key, value: value } }
在此之后,您可以使用:
new_hash[i].status
new_hash[i].value
JavaScript
在js中,将哈希转换为对象数组。对于angular.js:
var data = [];
angular.forEach(your_json, function(k,v){
this.push({ status: k, value: v })
}, data);
希望您理解正确,并对您有所帮助