2012-07-19 28 views
0

什么是渲染json时添加自定义json输出的最简单方法?我看到人们重写as_json或to_json,但他们通常排除属性或包含关联。有没有包含纯文本的方法?rails:如何将自定义json添加到json输出

在我看来

def show_json 
    show_id = URI.decode(params[:id]) 
    show_id = show_id.gsub(/\s*$/,'') 
    logger.debug "\nshow json: #{show_id}\n" 
    @qtls = Qtl.find_by_sql("select * from qtls where qtl_name like '%#{show_id}%' or qtl_symbol in (select qtl_symbol from obs_traits where qtl_symbol like '%#{show_id}%' or trait_name like '%#{show_id}%');") 
    render :json => @qtls 
end 

这将返回类似:

[{qtl: {...qtl attributes..}},{... more qtls }] 

,我想补充一个特定的领域为每个QTL。什么是最好的方式来做到这一点?

回答

1

覆盖as_json或使用一些宝石例如https://github.com/fabrik42/acts_as_api提供了许多模板,JSON

+0

谢谢:)特别acts_as_api的这一特点,我发现有用的,如果有人好奇:https://github.com/fabrik42/acts_as_api /维基/主叫-A-方法的最模型 – bdeonovic 2012-07-23 13:44:32