Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 轨道3和x2B;设计:在未激活后打开注册路径()如何显示尚未确认的用户';谁的电子邮件地址?_Ruby On Rails_Devise - Fatal编程技术网

Ruby on rails 轨道3和x2B;设计:在未激活后打开注册路径()如何显示尚未确认的用户';谁的电子邮件地址?

Ruby on rails 轨道3和x2B;设计:在未激活后打开注册路径()如何显示尚未确认的用户';谁的电子邮件地址?,ruby-on-rails,devise,Ruby On Rails,Devise,为了有一个注册后页面,我添加了一个RegistrationController和方法来提供一个自定义页面,告诉用户检查他们的电子邮件中的帐户确认链接 def after_inactive_sign_up_path_for(resource) "/awaiting_confirmation" end 该页面上是否有任何方式(已创建帐户但尚未确认且尚未登录的用户可以看到该页面)显示他们用于创建帐户的电子邮件地址 我想在页面上说“我们刚刚发送了一个确认链接给您useremail@us

为了有一个注册后页面,我添加了一个RegistrationController和方法来提供一个自定义页面,告诉用户检查他们的电子邮件中的帐户确认链接

  def after_inactive_sign_up_path_for(resource)
    "/awaiting_confirmation"
  end
该页面上是否有任何方式(已创建帐户但尚未确认且尚未登录的用户可以看到该页面)显示他们用于创建帐户的电子邮件地址

我想在页面上说“我们刚刚发送了一个确认链接给您useremail@userdomain.com"

但该页面的视图无法显示current_user.email,因为current_user为零,因为他们尚未登录


是否有其他设计变量或会话变量包含刚刚创建的注册信息?

您可以通过两种方式执行此操作,第一种是在成功发送电子邮件后向用户显示flash消息。您仍然可以通过变量访问用户的电子邮件,例如:

:notice => "Email was sent to #{userobject.email}"
或者,您可以在注册后将此对象传递到要将用户发送到的页面并在那里使用它

解决这个问题的另一种方法是使用令牌对用户进行身份验证,然后用户将有效地登录,然后您可以使用当前用户。
为此,您需要进行研究和设计。

以下是我们解决问题的方法。。。这很容易

将自定义注册控制器(如问题所示)中的单线控制器方法修改为:

然后,在路线/等待确认的接收方法中,我只需执行以下操作

@email = params[:email]

并在我的视图中显示@email变量。

我找不到任何关于变量名称的文档,这些文档允许我们访问他们刚刚输入到Desive注册表单中的电子邮件地址。。。甚至不确定在设计例程之外是否可以访问?据我所知,没有,因为我们使用的是开箱即用的设计:视图获取视图。也许您可以修改它们?您必须覆盖Desive registration controller才能进行此类编辑。这真的很容易。你有一个例子
@email = params[:email]