Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 Desive_invitable无法再接受邀请(但通过控制台工作)_Ruby On Rails_Ruby On Rails 4_Devise_Ruby On Rails 4.2_Devise Invitable - Fatal编程技术网

Ruby on rails Desive_invitable无法再接受邀请(但通过控制台工作)

Ruby on rails Desive_invitable无法再接受邀请(但通过控制台工作),ruby-on-rails,ruby-on-rails-4,devise,ruby-on-rails-4.2,devise-invitable,Ruby On Rails,Ruby On Rails 4,Devise,Ruby On Rails 4.2,Devise Invitable,我正在使用designe\u invitable创建来宾帐户以访问文档。访问文档时,来宾可以单击升级按钮,升级到完整帐户。单击升级按钮接受设计不可侵犯的邀请 以前工作过:不再工作 环境: rails 4.2.3(最近升级) 设计3.4.1 设计1.3.6 我为生成升级链接的来宾用户使用部分标题: <% @invite_link = accept_user_invitation_url(invitation_token: @invite_token) %> <%= link_

我正在使用
designe\u invitable
创建来宾帐户以访问文档。访问文档时,来宾可以单击升级按钮,升级到完整帐户。单击升级按钮接受
设计不可侵犯的邀请

以前工作过:不再工作

环境:

  • rails 4.2.3(最近升级)
  • 设计3.4.1
  • 设计1.3.6
我为生成升级链接的来宾用户使用部分标题:

<% @invite_link = accept_user_invitation_url(invitation_token: @invite_token) %>
<%= link_to "Upgrade", @invite_link, class: "btn btn-danger btn-lg" %>
因此,
link\u to
helper生成如下内容:
https://myapp/users/invitation/accept?invitation_token=vv_JqeFDLfyX65tx2KhR

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

出现错误消息:
提供的邀请令牌无效

日志报告类似于:

Started GET "/users/invitation/accept?invitation_token=vv_JqeFDLfyX65tx2KhR" for 31.15.32.222 at 2015-10-15 19:18:34 +1100
Processing by Devise::InvitationsController#edit as HTML
  Parameters: {"invitation_token"=>"vv_JqeFDLfyX65tx2KhR"}
  User Load (5.9ms)  SELECT  "users".* FROM "users" WHERE "users"."invitation_token" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["invitation_token", "ea9be9890c684e13ece13ec02f89bade81fcd3ac1fb982db72d8f8561d0cf289"]]
Redirected to https://myapp/
Filter chain halted as :resource_from_invitation_token rendered or redirected
Completed 302 Found in 53ms (ActiveRecord: 5.9ms)
Started GET "/" for 31.15.32.222 at 2015-10-15 19:49:52 +1100
Processing by PagesController#index as HTML
Redirected to https://myapp/users/sign_in
Completed 302 Found in 11ms (ActiveRecord: 0.0ms)
我可以通过rails控制台完成这项工作。

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

注意:
raw\u invitation\u令牌在rails控制台会话中是不同的


我缺少什么?

我找到了名为
user.invite的代码
在显示页面时生成
原始邀请\u令牌
,并在生成接受邀请链接后生成。这意味着accept_邀请链接中的令牌现在已过时

通过控制台,没有调用此代码,因为没有调用任何控制器、视图或javascript组件。因此,在使用控制台时,一切正常

修复并恢复正常

Started GET "/users/invitation/accept?invitation_token=vv_JqeFDLfyX65tx2KhR" for 31.15.32.222 at 2015-10-15 19:18:34 +1100
Processing by Devise::InvitationsController#edit as HTML
  Parameters: {"invitation_token"=>"vv_JqeFDLfyX65tx2KhR"}
  User Load (5.9ms)  SELECT  "users".* FROM "users" WHERE "users"."invitation_token" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["invitation_token", "ea9be9890c684e13ece13ec02f89bade81fcd3ac1fb982db72d8f8561d0cf289"]]
Redirected to https://myapp/
Filter chain halted as :resource_from_invitation_token rendered or redirected
Completed 302 Found in 53ms (ActiveRecord: 5.9ms)
Started GET "/" for 31.15.32.222 at 2015-10-15 19:49:52 +1100
Processing by PagesController#index as HTML
Redirected to https://myapp/users/sign_in
Completed 302 Found in 11ms (ActiveRecord: 0.0ms)