我在Rails(4.5.0
)中配置Devise(5.2.1
)时遇到问题。无法通过api登录。
在我的routes.rb
中,我在这样的命名空间中定义Devise的路由:
Rails.application.routes.draw do
namespace :api do
devise_for :users
end
[...]
end
这将生成正确的路由,但是登录无效,因为Devise认为resource_name
或范围是api_user
而不是user
。如果我重写auth_options
方法可以解决此问题,但这真的是可行的方法吗?
我对此进行了进一步调查。通过在singular: :user
声明中添加devise_for
可以解决此问题。这对我来说并不直观,所以我创建了一个问题:https://github.com/plataformatec/devise/issues/4969