Devise auth给我错误:#<RegistrationsController的NoMethodError未定义方法`user_url'

时间:2019-06-19 18:14:13

标签: ruby-on-rails ruby-on-rails-5 devise-token-auth

我是Ruby / Rails的新手。我必须在我的POC Rails API项目(Json API App)中实现Auth机制。因此,我遍历了各个链接,并决定按照Devise实现的说明进行操作。 以下是我所拥有的:-

I have below in routes.rb-
devise_for :users, :controllers => {sessions: 'sessions', registrations: 'registrations'} 

我在RegistrationsController中具有以下内容:-

class RegistrationsController < Devise::RegistrationsController
  respond_to :json

end

我在会话控制器中具有以下内容:-

class SessionsController < Devise::SessionsController
  respond_to :json

    def show
      respond_with User.find(params[:id])
    end
  private
    def respond_with(resource, _opts = {})
      render json: resource
    end
    def respond_to_on_destroy
      head :ok
    end
end

我有用户模型。当向下面的url-http://localhost:3000/users发送帖子调用时,出现错误:NoMethodError(HTML响应中RegistrationsController:0x00007f93a3ad0640的未定义方法`user_url'。

所以我在这里有2个问题,

  1. 为什么我在Postman中得到HTML响应?以及如何获取JSON响应?
  2. 如何解决该错误?在阅读了各种链接之后,我知道默认的设计在签名后会查找登录页面,但是我没有在这里找到如何修复Json API的方法?

感谢您的帮助!

我正在使用Rails5.X

0 个答案:

没有答案