首页 > 解决方案 > respond_to 仅适用于 Rails 6 中的第一个 MIME 类型

问题描述

直截了当的问题:如果我删除 geojson 或 csv,一切都会很好,但是当两者都在块中时,无论我发送什么 Content-Type 标头(text/csvvnd.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

标签: ruby-on-rails

解决方案


啊; Rails 期望标题是Accept,而不是Content-Type


推荐阅读