例如,我想
/ apples / 123?_format = json
表现得像
/apples/123.json
它呈现* .json。*模板,执行respond_to {| format | format.json {...}}等等。
这一切都可能吗?
谢谢!
答案 0 :(得分:1)
您可以执行以下操作来禁用Rails自动处理.ext
格式:
constraints format: false do
resources :apples
# ...
end
然后,这有点严重,但目前我没有看到更好的方法,您可以执行以下操作来更新ActionController的服务格式:
class ApplicationController < ActionController::Base
before_filter :set_format_from_query_string
private
def set_format_from_query_string
request.format = params.fetch(:_format, 'json')
end
end
这将允许您的respond_to
块根据_format
查询字符串参数进行切换,并使用json
作为默认格式。