草庐IT

devise-invitable

全部标签

ruby-on-rails - rails : How to restrict signup to admin using Devise

我正在尝试将注册限制为Devise管理员。如果可能的话,我想暂时避免使用CanCan。我创建了一个单独的DeviseAdmin模型,如此处选项#1中所述:https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-Role.接下来,我为用户设置了一个CRUD界面,如下所述:https://github.com/plataformatec/devise/wiki/How-To:-Manage-users-through-a-CRUD-interface.我想通过在用户Controller中使用类似before_fil

ruby-on-rails - 将默认角色添加到 Devise 用户模型

在尝试向我的项目添加基于角色的身份验证(使用CanCan和Devise)时,我发现有两种保存角色的方法:第一种是“HasandBelongs_to”方式,第二种只是将角色保存在用户表中的新字段。所以,问题是,我如何以第一种方式定义默认用户角色,以及我应该选择哪种方式来定义第二种方式中的默认角色(在迁移中设置默认角色或编辑Devise的用户Controller?)另外,我应该使用这种方法还是使用gem更好?附言我已经阅读了TonyAmoyal的教程,但没有在那里找到答案。 最佳答案 如果我正确理解了这个问题,那么这对我有用:Rubyo

ruby-on-rails - Rails 4 + Devise - 更新用户帐户时不允许的参数

我有以下设置:routes.rbdevise_for:users,:path_names=>{:controllers=>{:omniauth_callbacks=>"omniauth_callbacks",:registrations=>"registrations"}和RegistrationController:classRegistrationsController但每次我尝试更新用户数据时,我都会收到此错误消息:Unpermittedparameters:tw_account,fb_account但是当我用这两个字段创建一个新帐户时,它们就被保存了。如何使它们可更新?谢谢

ruby-on-rails - 扩展 Devise 的 SessionsController

我正在尝试向Devise的SessionsController添加一个before_destroy过滤器。这是我尝试过的:我创建了一个包含before_destroy过滤器的模块和另一个包含我希望它调用的方法的模块。moduleUserTrackerprepend_before_filter:stop_tracking,:only=>[:destroy]moduleTrackerStopperdefstop_tracking#DostuffendendincludeTrackerStopperend然后我尝试使用UserTracker模块扩展SessionsController。Dev

ruby-on-rails - 创建一个像 Devise 的 current_user 一样的方法以在任何地方使用

我允许我的用户拥有多个配置文件(用户有多个配置文件),其中一个是默认配置文件。在我的用户表中,我有一个default_profile_id。如何创建像Devise的current_user这样的“default_profile”,我可以在任何地方使用它?我应该把这条线放在哪里?default_profile=Profile.find(current_user.default_profile_id) 最佳答案 Devise的current_user方法如下所示:defcurrent_#{mapping}@current_#{mappi

ruby-on-rails - 使用 Minitest 和 Devise 进行的 Controller 测试失败

在使用Devise的Rails3.28应用程序中,我设置了一个Controller,使用ifuser_signed_in?检查用户是否登录。一旦测试命中这条线,我总是得到一个undefinedmethod'authenticate!'对于nil:NilClass错误。我想在没有用户登录的情况下测试一些代码。我认为我需要根据DeviseWikihere中指定的选项设置测试,但是,所有说明都与rspec有关。特别是,我认为我需要具备以下条件才能在minitest中工作:RSpec.configuredo|config|config.includeDevise::TestHelpers,:t

ruby-on-rails - 使用 Devise 发送重置密码指令

我正在尝试使用devise和Rails发送重置密码指令。用户单击“忘记密码链接”,然后输入电子邮件地址以接收重置密码的说明。我看到电子邮件已在开发日志中发送,但我没有收到测试电子邮件,并且看到以下错误。关于我做错了什么的任何想法?Timeout::Error-executionexpired在user_mailer.rb中,我有以下内容:classUserMailerENV["EMAIL_ADDRESS"]defreset_password_instructions(record,opts={})mail(:to=>record,:subject=>"ResetPasswordInst

ruby-on-rails - Devise_token_auth 和 Devise 使用用户名和电子邮件登录

在尝试向我现有的Rails应用程序添加token身份验证时,我不断遇到错误,它源于设计authentication_keys。在我的Rails4应用程序中,我允许用户使用用户名或电子邮件登录,我想为API提供相同的功能。我从API登录时得到的错误如下StartedPOST"/api/v1/auth/sign_in"for127.0.0.1at2016-04-1923:40:26-0400ProcessingbyDeviseTokenAuth::SessionsController#createasJSONParameters:{"login"=>"email@example.com",

ruby-on-rails - Heroku 上的路由错误(通过 Devise 登录后)

对于我的Rails3应用程序,我有如下路线设置namespace:userdoroot:to=>"reading_schedules#index"end这是我的“rakeroutes”显示的内容user_root/user(.:format){:controller=>"user/reading_schedules",:action=>"index}在我的本地机器上一切正常。但是,一旦我将站点推送到Heroku并登录,我就会在日志中收到以下错误ActionController::RoutingError(uninitializedconstantUser::ReadingSchedul

ruby-on-rails - rails : Devise : make `reset password` use `confirmation resend` if user is unconfirmed

鉴于用户正在等待确认电子邮件或已收到确认电子邮件,我如何确保他们不使用重置密码过程和强制他们填写标准确认表格(使用确认电子邮件)。在我的例子中,用户必须在确认后选择一个用户名,而密码重置很烦人地绕过了这个。 最佳答案 您需要禁用User模型中的:recoverable模块,因为这是启用密码重置的原因。如果您还没有自定义该页面,您还需要删除devise/sessions/new.html.erb中的忘记密码链接。 关于ruby-on-rails-rails:Devise:make`rese