我有一个 Rails 应用程序,其中大多数操作都响应 json。
尽管有方法调用,我是否可以关闭任何“开关”以防止所有控制器响应 json respond_to
,或者我仍然必须在每个操作中手动禁用它(这看起来很奇怪)。
我有一个 Rails 应用程序,其中大多数操作都响应 json。
尽管有方法调用,我是否可以关闭任何“开关”以防止所有控制器响应 json respond_to
,或者我仍然必须在每个操作中手动禁用它(这看起来很奇怪)。
我有一个建议,虽然我害怕有点 hacky :)
class < ApplicationController
before_filter :disable_json
def disable_json
if request.format =~ /json/
//do something you like, redirect_to or reply with message
end
end
before_filter 将在任何特定控制器的方法之前触发。
json 标头通常是“application/json”
对于request
,你可以在这里阅读更多:http: //guides.rubyonrails.org/action_controller_overview.html#the-request-object
你也可以在 routes.rb 中使用约束:
# Only allow HTML requests for all resources within the block
scope constraints: {format: :html} do
resources :posts
resources :comments
get "/profile", to: "users#profile"
end