0

json をレンダリングするときにカスタム json 出力を追加する最も簡単な方法は何ですか? as_json または to_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に特定のフィールドを追加したいと思います。それを行う最善の方法は何ですか?

4

1 に答える 1

1

as_json をオーバーライドするか、いくつかの gem を使用して、たとえばhttps://github.com/fabrik42/acts_as_apiなどの多くの json テンプレートを提供します

于 2012-07-19T21:07:31.400 に答える