我希望以 json 形式响应所有格式。
我可以强制渲染成 json
,这样该操作将呈现 show.json
,尽管有 accept
头:
def show
render formats: :json
end
我如何为控制器的所有操作设置渲染格式?
类似于这样:
class GalleriesController < ApplicationController
formats :json
end
我希望以 json 形式响应所有格式。
我可以强制渲染成 json
,这样该操作将呈现 show.json
,尽管有 accept
头:
def show
render formats: :json
end
我如何为控制器的所有操作设置渲染格式?
类似于这样:
class GalleriesController < ApplicationController
formats :json
end
before_filter :default_format_json
def default_format_json
request.format = "json"
end
def my_action
formats.clear
formats << :json
end
formats
返回一个格式符号的数组。它被委托给 @_lookup_context
,它是 ActionView::LookupContext
的一个实例。覆盖响应的内容类型。在此处阅读有关响应对象的更多信息:http://guides.rubyonrails.org/action_controller_overview.html#the-response-object
before_filter :force_json
def force_json
response.content_type = Mime[:json]
end
使用 respond_to:
def action
respond_to do |format|
format.any(:html, :js, :json) { render json: @object.to_json }
end
end
respond_to do |format| format.html { render formats: :json } format.js { render formats: :json } end
吗? - Richard Peck