问题标签 [devise-invitable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
615 浏览

ruby-on-rails-4 - 如何查看邀请状态?

对于每个用户,我想显示他的邀请状态:“邀请已发送”“邀请已接受”

目前我只是检查表中的字段是否encrypted_password包含Users任何内容。如果不是 - 那么用户尚未注册(接受邀请)但已发送给他(否则该用户的记录将不存在于数据库中)

有没有更优雅的方法来做到这一点?

0 投票
0 回答
270 浏览

ruby-on-rails - NoMethodError:MyMailer:Class 的未定义方法“devise_mail”

我有一个与 Devise 一起使用的非常简单的自定义邮件程序,但是它无法找到辅助方法“devise_mail”。

如果我在类中克隆 devise_mail 方法(在下面的示例中取消注释),邮件程序会按照我的预期使用自定义说明,因此自定义邮件程序肯定会被命中,并且在其他地方使用的自定义主题行也适用于可邀请的设计。

完整的错误是:

NoMethodError:未定义的方法devise_mail' for MyMailer:Class from /Users/paul/.rvm/gems/ruby-2.0.0-p598/gems/attr_encrypted-1.3.4/lib/attr_encrypted.rb:259:inmethod_missing'

我错过了什么?

提前感谢您的任何想法。

0 投票
1 回答
156 浏览

ruby-on-rails - 设计邀请升级 after_invite_path_for 有不同的资源

我最近升级到 devise_invitable 1.5.1。

以前我在我的

class InvitationsController < Devise::InvitationsController控制器

我想将邀请者发送到基于被邀请者创建的路径,所以我正在使用

但是现在,在新版本中,资源实际上代表了邀请者,而之前它是被邀请者。

如何在这种方法中获得被邀请者,以便我可以检索正确的路径?

0 投票
1 回答
690 浏览

ruby-on-rails - 如何使用 devise_invitable 发送自定义邀请

我是 ruby​​ 的新手,使用 devise_invitable gem 进行邀请。每条指令都正确发送。现在我想添加一个自定义主题,该主题将具有受邀者姓名和董事会名称以及与主题具有相同内容的自定义内容。我如何在不使用额外自定义代码等的情况下在以下操作方法中执行此操作?

0 投票
1 回答
270 浏览

ruby-on-rails - 使用 Devise_Invitable 时在 RSpec 中创建和登录用户

使用 RSpec 进行测试时如何创建用户并登录devise_invitable?是否可以在不发送/测试邀请电子邮件的情况下进行用户设置和登录?可以用 FactoryGirl 做到这一点吗?

我正在使用 Rails 4.1 和 Ruby 2.1。

谢谢!

0 投票
1 回答
1513 浏览

ruby-on-rails - Devise/Devise_invitable:如何跳过待处理的邀请控件

我有一个使用 devise 和 devise_invitable gem 的 Rails/Mongoid 应用程序,其中一个特殊场景是用户 has_and_belongs_to_many 组。这在应用程序中意味着用户可以被其他用户邀请到一个或多个组。我正在使用 devise_invitable 为新用户和现有用户处理这些邀请。

我遇到问题的情况是,当已经注册并确认其帐户并且可能已经被邀请到一个组的用户被邀请到另一个组时。在这种情况下,系统会像往常一样发送新邀请,但不会为现有用户创建新邀请。

如果用户确认邀请一切正常,但我遇到的问题是,除非用户确认,否则他/她将无法再次登录到他的用户帐户,因为它会收到警报:

所以我想知道我应该怎么做或应该在 Devise/Devise_invitable 上覆盖什么,以便在尝试以已确认但有待处理邀请的用户身份登录时跳过该控件。

我的用户模型是这个:

谢谢!

0 投票
1 回答
46 浏览

ruby-on-rails - Rails 初学者:基于模型的用户管理

我正在开发一个包含主题、子主题和文章模型的网站。用户可以注册(设计 gem)并创建主题、主题下的子主题和子主题下的文章。

我想要做的是,用户应该能够邀请其他用户(成员与否) - 显示和编辑包含所有子主题和文章的主题, - 或仅编辑子主题以显示和编辑所有文章- 或只编辑一篇文章。

在这一点上,似乎我可以使用 devise_invitable gem 来邀请。但是我怎样才能只向这个受邀用户显示允许的对象呢?

是否有任何宝石或其他东西可以管理这样的应用程序?

0 投票
3 回答
464 浏览

ruby-on-rails - 访问模型中的 current_user(或其他一些解决方法)

我已经阅读了有关此主题的几个 SO 链接。即使您可以破解它以获取模型中的 current_user,您也不应该这样做。那么,在我的情况下,我有哪些选择?

我正在使用 devise_invitable gem,其中一个命令是User.invite!({:email => email}, current_user),它存储了 ( current_user) 邀请的用户。我想知道这些信息。

目前,用户被邀请加入一个私有组,这个过程在我的group.rb模型中处理:

如果相关,它只是一个 text_area 接收这些电子邮件进行处理:

不用重新安排太多,如何User.invite!({:email => email}, current_user)在这个过程中运行,让这个有用的信息(谁被谁邀请)存储在我的数据库中?非常感谢!


更新

在下面@Mohamad 的帮助下,我得到了它的工作。

然后在我的 User 模型中什么都没有,因为 User.invite 已经由 devise_invitable 定义了,我不需要做任何其他事情。这个过程现在工作得很好!

0 投票
1 回答
1590 浏览

ruby-on-rails - 在 Rails 中自定义 devise_invitable 电子邮件

我有一个带有默认设计邀请的 Rails 应用程序。我想更改电子邮件正文和主题行,但默认邮件程序如下所示:

/app/views/devise/mailer/invitation_instructions.html.erb

我不明白我怎么能编辑这个。

我找到了这个资源: https://github.com/scambra/devise_invitable/wiki/Customizing-for-different-Invite-use-cases-(emails-etc.)。据我了解,它告诉您如何更改主题以及如何允许用户创建自定义邀请消息。

但我不希望他们能够创建自己的信息。我只想发送一条系统消息,而不是说“有人邀请你......”,而是动态插入邀请者的名字,如“约翰史密斯邀请你......”。我在属于用户模型的配置文件模型中有 first_name 和 last_name 属性,所以我想我的邮件应该包含类似@user.profile.first_name @user.profile.last_name 的东西。

0 投票
1 回答
1109 浏览

ruby-on-rails - devise_invitable 不再能够接受邀请(但通过控制台工作)

我正在使用devise_invitable创建访客帐户来访问文档。访问文档时,访客可以单击升级按钮,升级为完整帐户。单击升级按钮即表示接受devise_invitable邀请。

以前工作:不再工作。

环境:

  • rails 4.2.3(最近升级)
  • 设计 3.4.1
  • 设计邀请 1.3.6

我为生成升级链接的来宾用户使用了部分标头:

@invite_token创建如下:

所以link_tohelper 生成类似的东西:https://myapp/users/invitation/accept?invitation_token=vv_JqeFDLfyX65tx2KhR

除非我点击链接,否则我会:https://myapp/users/sign_in

带有错误消息:The invitation token provided is not valid!

日志报告类似于:

我能够通过 Rails 控制台完成这项工作。

如果我并行运行rails 控制台,我可以逐步完成上述步骤并生成一个按预期工作的accept_invitation 链接(即它提示用户为完整帐户设置密码)。

注意:raw_invitation_tokenrails 控制台会话中的不同。

我错过了什么?