相关疑难解决方法(0)

Rails 4 - 如何呈现JSON而不管请求的格式?

我想要一个Rails控制器(所有这些,实际上,它是一个API)来永远呈现JSON.

我不希望Rails返回"找不到路由",或者尝试找不到HTML模板,或者返回406.我只是希望它自动并始终呈现JSON,例如从RABL或JBuilder视图.

这可能吗?相关问题似乎有答案,具有上述缺点.

json ruby-on-rails rabl ruby-on-rails-4

20
推荐指数
3
解决办法
1万
查看次数

渲染 :json 没有模板

据我所知,json可以在没有模板的情况下在 Rails 上呈现,使用以下代码:

module Overrides
  class SessionsController < DeviseTokenAuth::SessionsController
    def destroy
      render json: {
          errors: 'Test 200'
      }, status: 200
    end
Run Code Online (Sandbox Code Playgroud)

我也试过以下:

respond_to do |format|
  format.json { render :json => {success:true}, status: 200}
end
Run Code Online (Sandbox Code Playgroud)

没有结果。我仍然遇到同样的错误。

Started DELETE "/auth/sign_out" for 127.0.0.1 at 2016-04-28 20:29:27 +0300
Processing by Overrides::SessionsController#destroy as json
  User Load (0.0ms)  SELECT  "users".* FROM "users" WHERE "users"."uid" = $1 LIMIT $2  [["uid", "demo"], ["LIMIT", 1]]
   (0.0ms)  BEGIN
  SQL (0.5ms)  UPDATE "users" SET "tokens" = $1, "updated_at" = …
Run Code Online (Sandbox Code Playgroud)

ruby json ruby-on-rails devise ruby-on-rails-5

1
推荐指数
1
解决办法
4187
查看次数