gpt4 book ai didi

ruby-on-rails-4 - 为什么设计生成这种格式的确认 URL?

转载 作者:行者123 更新时间:2023-12-04 07:04:24 25 4
gpt4 key购买 nike

设计继续生成 confirmation URL 的这种格式

http://something.com/users/confirmation/divyanshu-rawat?confirmation_token=CV3zV1wAWsb3RokHHEKN

我不知道为什么它没有产生这样的东西。
http://something.com/users/confirmation?confirmation_token=CV3zV1wAWsb3RokHHEKN

这是我的 confirmation_instructions.html.haml好像。
%p Welcome #{@resource.first_name}!
%p You can confirm your account email through the link below:
%p= link_to 'Confirm my account', user_confirmation_url(@resource, :confirmation_token => @resource.confirmation_token)

最佳答案

设计 gem,确认路线如下创建,

#  # Confirmation routes for Confirmable, if User model has :confirmable configured
# new_user_confirmation GET /users/confirmation/new(.:format) {controller:"devise/confirmations", action:"new"}
# user_confirmation GET /users/confirmation(.:format) {controller:"devise/confirmations", action:"show"}
# POST /users/confirmation(.:format) {controller:"devise/confirmations", action:"create"}

所以如果你想创建像这样的网址,
http://something.com/users/confirmation?confirmation_token=CV3zV1wAWsb3RokHHEKN

使用
user_confirmation_url(confirmation_token: @resource.confirmation_token)`

而不是
user_confirmation_url(@resource, confirmation_token: @resource.confirmation_token)`

还要检查 路线.rb

如果要传递 @resource 的 user_name 或 name db 属性在确认网址中(正如您通过在网址中传递“divyanshu-rawat”所询问的那样),您可以创建自己的自定义路由,该路由将指向与下面相同的 Controller 和操作,
  # config/routes.rb
devise_for :users

as :user do
get '/users/confirmation/:name' => "devise/confirmations#show", as: 'user_confirm'
end

如果在您的情况下,@resource.user_name = 'divyanshu-rawat',请更新 confirmation_instructions.html.haml如下,
%p Welcome #{@resource.first_name}!
%p You can confirm your account email through the link below:
%p= link_to 'Confirm my account', user_confirm_url(name: @resource.user_name, confirmation_token: @resource.confirmation_token)

这将产生像这样的网址,
http://something.com/users/confirmation/divyanshu-rawat?confirmation_token=CV3zV1wAWsb3RokHHEKN

关于ruby-on-rails-4 - 为什么设计生成这种格式的确认 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53633700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com