设计 Invitable 获取错误的参数

Devise Invitable getting wrong params

提问人:Victor 提问时间:11/8/2022 更新时间:11/8/2022 访问量:20

问:

向用户发送邀请后,我得到了什么: /users/invitation/accept.37?3DpoDuVJ5EJcqmHAmbCJTzinvitation=_token=

它应该是什么: /users/invitation/accept.37?3DpoDuVJ5EJcqmHAmbCJTzinvitation_token=

我试图查看问题是否来自路由,或者可能来自url,但url是以这种方式安装的:

<%= accept_invitation_url(@resource, invitation_token: @token) %>
Ruby-on-Rails 设计

评论

0赞 max 11/8/2022
在你的唯一标识符中使用 a 是相当有问题的,因为 Rails 在指定格式时会使用它 - 除非你在路由定义中指定自己的正则表达式,否则你会得到 “Unknown Format 37”。你的路线如此奇怪有什么好的理由吗?guides.rubyonrails.org/routing.html#dynamic-segments.
0赞 Victor 11/8/2022
accept_user_invitation GET /users/invitation/accept(.:format) users/invitations#edit 这是 devise 在 routes.rb 中制作的路由: devise_for :users, controllers: { invitations: “users/invitations” }
0赞 max 11/8/2022
你试过只用吗?路由实际上没有 ID 的占位符 - 通过令牌传递。accept_invitation_url(invitation_token: @token)

答: 暂无答案