问题标签 [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 回答
752 浏览

ruby-on-rails-3 - 设计邀请测试 default_url_options

我正在测试该方法 User.invite!(:email => "new@example.com")

使用rspec设计邀请,但我收到以下错误:

ActionView::Template::Error: 缺少要链接的主机!请提供 :host 参数,设置 default_url_options[:host],或设置 :only_path 为 true

我已经在我的config/test.rb中添加了这一行

我必须做些什么来解决这个问题?

我的导轨版本:3.2.14

编辑 这是我的 test.rb 文件

0 投票
2 回答
219 浏览

ruby-on-rails - 尽管选项评估为 true,但 Rails 验证仍在触发

devise_invitable在我的应用程序中使用以允许用户发送邀请。我意识到一个糟糕的情况,用户被邀请但忽略了邀请,然后返回应用程序自行注册。因为通过使用为邀请提供的电子邮件地址devise_invitable创建一个新的邀请来处理user邀请,所以我在电子邮件字段上的唯一性验证将导致 Rails 抱怨,告诉用户该电子邮件地址已被占用。

我正在尝试编写一些逻辑来处理这种情况。我看到了两条路径——要么想办法检测到这一点并销毁先前创建的用户并允许创建新用户,要么检测到用户被邀请并执行另一个流程。我决定实施第二个选项,因为如果可能的话,我仍想使用邀请。

我有限的经验让我质疑我所写的内容是否有效,但我实际上无法完全测试它,因为触发了电子邮件上的 Rails 验证。我已确定 Devise 的:validatable模块处于非活动状态。我创建了一个方法,(我认为)将检测用户是否被邀请,在这种情况下,应该跳过唯一性验证。

FWIW,我最初是用速记写的,而不是打破 if/else,但我想非常明确地找到错误/失败。

希望一旦表单通过验证,该create操作将对用户的邀请状态进行一些检测,如果他们被邀请,则将他们重定向到accept_user_invitation_path. 同样,我还不能实际测试这个,因为我无法绕过验证。

在拼命的努力中,您会看到我还添加了.save(validate: false)以尝试将其短路,但它甚至没有走那么远。

如果我完全注释掉电子邮件验证,只是为了测试其余的逻辑/流程,我会收到一个 PG 错误,因为电子邮件地址上的索引而抱怨唯一性 - 我不想仅仅为了测试而将所有这些拆开这种方法。

我已经尝试了好几个小时,但我很茫然 - 任何帮助表示赞赏。如果您想查看其他代码,请告诉我。

0 投票
1 回答
97 浏览

ruby-on-rails - 如何还原更改:销毁 devise_invitabe

我尝试了 devise_invitable 并将其添加到现有模型中

它添加了一些文件,更改了 db [迁移文件],.. 我不再需要它了。所以我想删除它。在铁轨中有

删除模型或控制器。如何恢复由 rails generate devise_invitable 所做的更改?

0 投票
0 回答
448 浏览

ruby-on-rails - 设计邀请 - 仅在回调中更新用户关联表

我正在尝试使用

u = User.invite!({:email => "myemail@live.com", :name => "John Doe"}, User.find(1))

当我实际上只希望更新用户表时,为什么 Devise Invitable 试图将具有奇怪/错误值的公司和 company_roles 插入表中。

此行为会导致 ROLLBACK,因为邀请没有正确的值来更新这些表。

我只想在用户接受邀请后在回调中保存诸如 company_role 之类的内容。如何在回调函数中执行此操作以及如何访问邀请发送的初始值。

例如,我可以这样做吗?

然后稍后在 User 模型中使用 this 检索接受回调中的一些值?

0 投票
1 回答
426 浏览

ruby-on-rails - 在 ActiveAdmin Gem 中,如何将邀请计数添加到 Admin 模型?

在我的项目中,我实现 ,它与 devise invitable 集成在一起。因此,在我的应用程序中,管理员可以通过电子邮件邀请客户。邀请时,我收到以下错误:

0 投票
2 回答
988 浏览

ruby-on-rails - devise_invitable 自定义邀请链接

我正在使用 devise_invitable 通过邮件邀请用户。当用户点击链接时,它会重定向到我不想要的设置密码页面。

如何发送带有指向我的自定义页面的链接的邀请?

我尝试覆盖控制器

通过生成添加视图。[我可以编辑邀请页面] devise/mailer/invitation_instructions。

修改了 devise.rb 以包含我的控制器。但我的控制器没有使用,它使用了设计的控制器。

我希望这是自定义链接。如何更改流量和覆盖控制器?

0 投票
1 回答
719 浏览

rspec - 设计邀请:user.invite!在测试环境中不起作用

user.invite!作为测试的一部分,我需要打电话。这是使用 Devise 邀请,因此既应该向用户发送邀请,也应该为他们创建一个邀请令牌并将它们保存到数据库中。

不幸的是,在测试环境中什么都没有发生,调用user.invite!只是返回nil并且不对用户对象进行任何更改。

我该如何补救?

0 投票
1 回答
690 浏览

ruby-on-rails - 邀请用户加入组织轨道

我有一个企业应用程序,可以跟踪许多organizations,每个都可以有许多users。构建允许当前组织的用户邀请其他用户加入该组织的邮件程序的最佳方法是什么?

我目前正在研究devise_invitablegem,但不确定如何准确执行我想要使用它执行的操作。

0 投票
1 回答
527 浏览

ruby-on-rails - Rollback devise invitable

Just made a roll back on a migration that added columns for devise_invitable and deleted the migration. I am now receiving the following error when trying to login to my app.

I cant seem to find invitation_token anywhere.

0 投票
1 回答
1404 浏览

ruby-on-rails - 测试设计邀请

我在我的应用程序中使用了可邀请的设计。我已经为一些自定义行为覆盖了设计邀请邀请控制器。当我尝试为此编写控制器测试时,出现以下错误:

这样做时会发生这种情况get :new

按照设置方向的指示设置路线:

控制器位于 /app/controllers/users/invitations_controller.rb 下,并且文件中的名称Users::InvitationsController与测试 /tests/controllers/users/invitations_controller.rb 相同Users::InvitationsControllerTest

这是测试:

这是动作:

感谢任何帮助谢谢。