手动创建的试验用户?

我能否手动创建一个分阶段用户?当然,使用 rake 我可以创建一个普通用户。无所不知的人工智能告诉我我不能这样做,我对此深信不疑,但仍然……

也许我应该解释一下我正在做什么。

我有一个 WordPress/WooCommerce 设置,客户可以在其中预约。客户将使用 WordPress 提供的表单发送其他信息。该表单将发送到(我的)群组收件箱。但是,因为我使用的是 Amazon SES,所以我不能使用客户的电子邮件作为发件人,因为那样我必须手动批准该发件人,而这是不可能的。所以,我从我的 WordPress 地址接收电子邮件。

现在,我需要以某种方式自动地或只需我付出很少的努力,将该 PM 主题与客户的电子邮件联系起来。我有限的知识想出的唯一解决方案是更改所有权——但为此,我需要一个用户。

为什么我不使用 OAuth 并创建该用户,因为他们必须在 WordPress 上创建帐户?因为我就是无法理解如何做到这一点,或者我在这里没有找到正确的主题。很多时候,建议的 SSO 是不可行的,因为它会劫持所有其他登录选项。

尝试输入容器 ./launcher enter app

然后进入 rails 控制台:
rails c

创建一个新用户:
new_user = User.create

然后……这开始时会失败,尝试保存它(以实例化它)
new_user.save!

按照说明填写无效属性,直到保存成功。

例如:
new_user.username = 'frank'

将跳过一个验证错误。

重复以上步骤,最终用户将保存成功。

只需键入 new_user 即可查看进度,但请注意,您 需要填写所有字段,只需填写有验证问题的字段即可。

不要忘记保存它,因为在保存成功之前,new_user 将是一个临时对象。

2 个赞

我只是想知道……有这个:staged: false

我怎样才能看到来自真实分阶段用户的这些数据?或者我现在是不是太深入了,在做徒劳的事情,我应该通过创建账户手动创建这些用户?:joy:

User.where(staged: true).first(10)

3 个赞

请问 Discard 能否询问简单的“您确定吗” :man_facepalming:

再说一次。我不知道这是否有效,因为我愚蠢地在真实案例中进行了操作,所以我无法测试。但我有一个全新的暂存用户。

我做了这个:

newuser = User.create
newuser.username = 'frank'
newuser.staged = true
newuser.email = 'frank@example.tld'
newuser.save!

我认为这也可以,但我还没有尝试过。

newuser = User.create!(username: "frank", staged: true, email: "frank@example.tld")
1 个赞

是的,该方法也应该有效。

除非……我无法将 PM 的所有权更改为暂存用户 :man_facepalming:

所以,只要我不开始构建 oauth 功能,我唯一的选择就是向该用户的电子邮件发送 PM。如果我的理解正确,同样的暂存也会发生。

或者我批准该用户。这是一个选项。但我宁愿不这样做,因为那样我就会在未经同意的情况下进行操作。

但现在我知道了如何使用 rails 创建/编辑用户的基础知识 :winking_face_with_tongue: 这也是一种胜利。另外,我还创建了一个我无法对其进行任何操作的暂存用户。

newsuser.destroy

(注意:不是“delete”)

1 个赞

我发现的另一种方法是:

1) 创建一个类别……(我将其命名为“收件箱”)

2) 在该类别的设置中,启用“接受来自没有账户的匿名用户的电子邮件”

3) 发送电子邮件到该电子邮件地址

我不明白 :thinking: 如何从奇怪的地址发送电子邮件来创建该暂存用户,以及这与使用组地址有何不同?

我只寻求了一种手动创建暂存用户(用于我通过手表发送电子邮件在自己的私人论坛上创建新主题的特定用途)的最简单方法。我敢肯定还有很多其他方法!

(你试过了吗?)

不,因为我仍然不明白如何使用一个不属于我的地址发送电子邮件。

1 个赞

在我上面的示例中,我从我每天使用的普通电子邮件地址发送了一封电子邮件……

收件人……

我在新创建的收件箱类别设置中输入的电子邮件地址,在这种情况下(如我上面示例所示)是 inbox@forum.mysite.com,这当然也是我拥有的电子邮件地址(因为域名与我的论坛域名相同)。

1 个赞

但是 Jagster 想为他的用户创建一个暂存用户。他无法为他们发送电子邮件。

也许在这种情况下,向电子邮件地址发送私人消息可以奏效 :thinking:

我正在询问如何创建一个暂存用户(意指类似预先认证的级别),以便为真实用户创建,而无需该用户发送电子邮件到论坛。

我们又遇到了巨大的语言障碍,我猜(我们迫切需要那个AI翻译器):joy:

使用 iPhone 创建虚拟用户、暂存用户或注册用户是一项非常容易的任务。

所以,我解决了这个问题。同时,我也有机会解释我当时在做什么。但是,再次强调,创建一个暂存用户并不是我试图解决的真正问题,而是将后续操作连接到我的 WooCommerce — 所以我做了如今的常态:我得出了一个解决方案并询问了那个方案。但这并非有意为之,因为我知道我无法询问如何从 WooCommerce 发送电子邮件,发件人是该用户,而 Amazon SES 也无法做到。或者如何自动同步我的 WordPress 用户到论坛,因为那实际上是非法的行为。

所以,手动创建一个暂存用户是我能想到的所有办法了 :smirking_face:

1 个赞

我不太确定是否完全理解 Jagster 用例的具体路由要求。

但我收到来自我无法发送邮件的电子邮件地址的邮件到我的 Discourse 收件箱类别(如我上面所述)。这些邮件来自我使用 Gmail 帐户通信的客户。

这是我的设置方式……

在我的 Gmail 帐户中,我设置了一个过滤器,可以捕获来自该客户电子邮件地址的所有收到的邮件,然后(在 Gmail 中保留副本的同时)将这些邮件转发到我在 Discourse 实例中指定的用于接收邮件到收件箱类别的电子邮件地址。

我想我也可以(或另外)将该收件箱类别(在其类别设置中)设置为“镜像邮件列表”,然后我可以(以及其他人,可选)订阅该列表。

:exploding_head:

这些用户什么都没发送,这就是问题所在。如果他们发送了,我将有很多选择,而群发消息对我来说是最实用的解决方案。

回到真正的问题。当用户购买服务时,他们会收到一个指向 WooCommerce 插件创建的表单的链接。不,我不能为此使用 Discourse,因为你知道,他们不是任何用户。我可以将该表单发送到 Discourse,但只能从已批准的地址发送,而客户的地址在 SES 中未获批准,也不会获批准。所以,我需要将发送表单的客户与 Discourse 联系起来,现在是私信,以某种方式。然后,由于 Discourse 提供的所有工具,我可以在论坛上继续与该客户打交道。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.