Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 可以使用Ruby on Rails';当格式不受支持时,是否返回一行?_Ruby On Rails - Fatal编程技术网

Ruby on rails 可以使用Ruby on Rails';当格式不受支持时,是否返回一行?

Ruby on rails 可以使用Ruby on Rails';当格式不受支持时,是否返回一行?,ruby-on-rails,Ruby On Rails,respond\u to的通常用法如下 respond_to do |format| format.html format.xml { render :xml => @data } end 当格式不受支持时(如上面不支持json或csv),是否可以不返回任何内容,而是返回一行文本,说明“不支持该格式”,或者更好的是,让它自动报告“仅支持html和xml”?它可以知道现有的format.html和format.xml行只支持html和xml。(如果可能)您应该能够使用格式。所有 r

respond\u to
的通常用法如下

respond_to do |format|
  format.html
  format.xml { render :xml => @data }
end

当格式不受支持时(如上面不支持json或csv),是否可以不返回任何内容,而是返回一行文本,说明“不支持该格式”,或者更好的是,让它自动报告“仅支持html和xml”?它可以知道现有的
format.html
format.xml
行只支持html和xml。(如果可能)

您应该能够使用
格式。所有

respond_to do |format|
  format.html
  format.xml { render :xml => @data }
  format.all { render :text=>'the format is not supported' }
end
如果要列出支持的格式,则需要扩展响应程序类

将其放入类似于config/initializers/extend\u responder.rb的文件中

module ActionController
  module MimeResponds
    class Responder

      def valid_formats
        @order.map(&:to_sym)
      end

    end
  end
end
然后在控制器中使用此选项:

respond_to do |format|
  format.html
  format.json { render :text=>'{}' }
  format.all { render :text=>"only #{(format.valid_formats - [:all]).to_sentence} are supported" }
end