ruby-on-rails - respond_to 仅适用于 Rails 6 中的第一个 MIME 类型
问题描述
直截了当的问题:如果我删除 geojson 或 csv,一切都会很好,但是当两者都在块中时,无论我发送什么 Content-Type 标头(text/csv
或vnd.geo+json
)都会呈现第一个。我确实有自定义 MIME 类型和渲染器,但这些似乎不是问题,因为当我使用其中一个时,一切都按预期工作,但只有当我尝试引用多种格式时,才会只有第一种格式结束up 被使用,不管标题。
def all
resource = Thing.where.not(thing_type: BaseThing::ONE_OF_THE_THINGS).order(:unique_id)
respond_to do |format|
format.geojson do
render geojson: Things::GeoSerializer.to_geojson(resource)
end
format.csv do
render csv: Things::CsvSerializer.to_csv(resource), filename: 'things'
end
end
end
解决方案
啊; Rails 期望标题是Accept
,而不是Content-Type
。
推荐阅读
- powerbi - 2 年的月数 date power bi
- c - 在缓冲区溢出时获取 SIGSEV
- javascript - 将 SVG 字符串转换为 URL Blob 并插入到 Canvas?
- python - 在函数中创建 Pandas 数据框
- geotools - Geotools 功能教程 ClassFormatError
- python - Python使用JSON键+特定值的优先级排序
- c# - 禁用“首选 32 位”的目标“任何 CPU”无论如何都会使用 32 位首选项进行编译
- asp.net-mvc - RouteConfig 和带有扩展名的文件名 - MVC5
- imagemagick - imagemagick - 将细节限制在图像的某个区域
- laravel - Laravel 资源:获取一些关系