【发布时间】:2013-12-23 14:20:43
【问题描述】:
我正在尝试计算 Sintra 的 respond_with 和 respond_to、路由等等。该文档似乎确实在谈论将代码移动到某个点,但我不知道该怎么做。
我有一系列路由都返回 Json 或 XML,例如:
respond_with :index, data do |f|
f.xml { XmlSimple.xml_out(data, {'XmlDeclaration' => true}) }
f.on('application/json') { data.to_json }
end
XmlSimple 调用可能在这里和那里有一些不同的选项。在一种情况下,路由会进行自己的 XML 渲染(因为它很复杂)。展望未来,我想添加可选的“漂亮”输出,也许还添加某种 HTML 模板输出。
我想做的是让我的所有路由都返回一个哈希或一个字符串。如果它是一个字符串,那么我们可以像往常一样将它传递给 Sinatra 进行输出。如果路由返回一个哈希,那么它将以与上述类似的方式呈现,具体取决于请求或查询字符串参数。
我的问题是:如何在路由的输出上配置某种“默认”输出过滤器?
【问题讨论】:
标签: ruby routes sinatra output