Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在ruby中将列名映射并转换为json格式的变量_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 在ruby中将列名映射并转换为json格式的变量

Ruby on rails 在ruby中将列名映射并转换为json格式的变量,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在从数据库表(客户端)获取值。我对两列(名字和id)感兴趣。因为我是以json格式发送响应的,所以我希望得到这样的结果 学生:[“名字”:“亚当”,id:“12”,…] 我尝试了Student.all.map{s.first|u name,s.id]},但这里我只得到值(adam,12)而不是索引(“first_name”,“id”) 是否有一种方法可以使列名出现在响应中而不使查询复杂化,那么,只需使用基本工具: @students.map{|st| {id: st.id, first_na

我正在从数据库表(客户端)获取值。我对两列(名字和id)感兴趣。因为我是以json格式发送响应的,所以我希望得到这样的结果

学生:
[“名字”:“亚当”,id:“12”,…]

我尝试了
Student.all.map{s.first|u name,s.id]}
,但这里我只得到值
(adam,12)
而不是索引
(“first_name”,“id”)

是否有一种方法可以使列名出现在响应中而不使查询复杂化,那么,只需使用基本工具:

@students.map{|st| {id: st.id, first_name: st.first_name}}

您只能与json一起使用:

Student.all.to_json(:only=>[:id, :first_name])

如果你在学生模型中不将
重写为_json
为_json
,那就行了。是的,没有那么神奇,但它忽略了json的转义开销,这就是为什么我更喜欢它:dthnks mate结果很好,但dimakura的答案看起来更好一点,但是如果你在谈论json,那么就用json来做,如果你需要将scape用作_json,你不必自己去翻译json。