首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义设计资源名称

自定义设计资源名称
EN

Stack Overflow用户
提问于 2014-03-06 09:55:04
回答 1查看 1.2K关注 0票数 3

我在用Devise进行认证。

我在Api命名空间中有一个自定义注册控制器,定义如下:

代码语言:javascript
复制
class Api::RegistrationsController < Devise::RegistrationsController
  # ...
end

我的用户模型在Api命名空间之外定义如下:

代码语言:javascript
复制
class User < ActiveRecord::Base
  # ...
end

在我的功能测试中,我在我的设置中放置了以下一行,以便让Devise知道我们使用的是user,而不是api_user

代码语言:javascript
复制
@request.env["devise.mapping"] = Devise.mappings[:user]

它在我的测试中非常有效,但我不知道如何在现实世界中复制这种行为。

sign_up_params方法在消毒时寻找params['api_user']而不是params['user']

知道我该怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-26 14:40:59

我不认为你还需要一个解决方案,但我经历了同样的问题,只是解决了这个问题:

而不是

代码语言:javascript
复制
namespace :api do 
  devise_for :users
end

在config.rb文件中,只需放置:

代码语言:javascript
复制
scope :api, module: :api do 
  devise_for :users
end

希望它能帮助到其他人。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22220826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档