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