为Rails应用程序全局配置允许的请求格式

时间:2013-12-03 16:14:18

标签: ruby-on-rails ruby-on-rails-3

如何配置应用程序,以便在Rails搜索要渲染的模板(例如html和json)而不在每个操作中使用respond_to时,只考虑某些格式的请求?

显然,在Rails 3中,可以将请求的响应格式指定为get参数。例如。 http://example.com/users/1?format=pdf。此类请求会导致ActionView::MissingTemplate错误,因为该格式没有模板。我需要为整个应用程序全局设置允许的格式。

1 个答案:

答案 0 :(得分:0)

您可以将其设置为ApplicationController

class ApplicationController
  respond_to :json
end

然后您不需要在子类中设置相同的内容。

添加

在使用respond_to作为类宏时,不确定是否忽略了它,它应与respond_with一起使用。

# Sample action
def show
  @user = User.find params[:id]
  respond_with @user
end

此响应现在是JSON响应。