使用respond_with返回xml,json等格式化的多个变量和数组的最佳方法是什么

bot*_*bot 1 ruby api ruby-on-rails ruby-on-rails-3

我正在寻找一种从包含多个变量的控制器返回xml或json的好方法.例如:

def index
    @ad = Ad.some_annoying_ad
    @map = Map.some_map_for_something
    @articles = Articles.trending

    respond_with @articles
end
Run Code Online (Sandbox Code Playgroud)

我如何才能最好地将@ad和@map var添加到@articles数组中?我见过人们使用合并功能,但我不确定这是不是我正在寻找的.只想知道哪种方式最标准,最灵活,干燥.谢谢!

注意:我知道响应将自动格式化xml或json中的结果,具体取决于添加到url的文件扩展名.谢谢!

小智 6

而不是合并@ad,@ map,只需创建一个新的哈希然后将数组添加到它,就像

respond_with({:ad => @ad, :map => @map, :article => @article})
Run Code Online (Sandbox Code Playgroud)

它只是用组渲染所有数据.