2

从头开始滚动我自己的电子邮件确认。苦苦思索如何为我的confirmations_controller.

新用户会收到一封电子邮件,其中包含返回应用程序以“验证”地址的链接。

我的想法是它应该是一个 PUT 操作,因为它将对数据库进行更改。但是,单击电子邮件中的链接不会提交“放置”操作……还是会?除了我自己的无知之外,我一定是错过了什么。

#config/routes.rb
...
resources :confirmations, only: [:update]

confirmation_url(user.email_token)生成有效的 url:http://localhost:3000/confirmations/ArELEOejYlqbRXdJPavhrp但是当点击该链接时,它会被应用程序接收为“获取”请求。

我应该如何处理这个?

4

1 回答 1

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
于 2013-01-10T23:05:58.483 回答