当前位置: 代码迷 >> 综合 >> rails 中 使用 rabl 来生成 json 的时候 ,一些小技巧
  详细解决方案

rails 中 使用 rabl 来生成 json 的时候 ,一些小技巧

热度:68   发布时间:2023-12-09 08:45:18.0


1. 用rails 的 render json: 方法生成的 json字符串 ,缺省是 不带表名的,比如下图:(主表是main_road_speed,子表是 finegrit)


而使用rabl 生成的json 是 带表名的,如下图:


为了使得这2种方法产生的json 都一致。可以采用下面2种方法:

  1. 都产生表名。那么就需要to_json 里面进行处理,处理的方法如下:


  2. 都不产生表名,那就需要在rabl 的配置文件里面进行处理
  3. 在<app>/config/initializers 目录下的rabl_config.rb 中增加 如下内容,就可以使得rabl产生的json文件也不带上表名
    [ruby] view plain copy
    1. Rabl.configure do |config|  
    2.    config.include_json_root = false  
    3.    config.include_child_root = false  
    4.   
    5. end  

2.  如果字段名带有不合规的命名,就需要在 rabl 文件中,采用如下方式来定义符号
[ruby] view plain copy
  1. child :finegrit do  
  2.   attributes :name:roadid, :'t#from_node_id'  
  3. end  

注意
[ruby] view plain copy
  1. :'t#from_node_id'  
的写法