从头开始滚动我自己的电子邮件确认。苦苦思索如何为confirmations_controller
生成正确的路由。
新用户收到一封电子邮件,其中包含指向“验证”地址的应用链接。
我的想法是应该是PUT操作,因为它会对数据库进行更改。但是,单击电子邮件中的链接将不会提交“放置”操作......或者它会吗?我必须遗漏一些东西,我自己的无知。
#config/routes.rb
...
resources :confirmations, only: [:update]
confirmation_url(user.email_token)
生成有效的网址:http://localhost:3000/confirmations/ArELEOejYlqbRXdJPavhrp
,但点击该链接时,应用会将其作为“获取”请求收到。
我该如何处理?
答案 0 :(得分:2)
您的电子邮件的格式是什么?如果是纯文本,那将是一个GET。这本身不是更新激活页面的问题。你也可以打开一个页面(使用GET)并让他们点击一个按钮进行最终提交(并非罕见)。
然而,通过GET更新不会让我对这个特定功能感到困扰。
示例:
# routes.rb
get 'confirmations/:id/confirm' => 'Confirmations#confirm'
# confirmations.rb
class ConfirmationsController < ApplicationController
def confirm
# handle the get data here (switch aa flag for the email account)
end
end