2

自分の電子メール確認をゼロからローリングします。my の適切なルーティングを生成する方法に苦労していますconfirmations_controller

新しいユーザーには、アドレスを「確認」するためのアプリへのリンクが記載されたメールが送信されます。

DBに変更を加えるため、PUTアクションにする必要があると思います。しかし、電子メール内のリンクをクリックしても、'put' アクションは送信されませんか? 自分の無知はさておき、何かが足りないに違いない。

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

confirmation_url(user.email_token)有効な URL を生成しますhttp://localhost:3000/confirmations/ArELEOejYlqbRXdJPavhrpが、そのリンクをクリックすると、アプリは「get」リクエストとして受け取ります。

これをどのように処理すればよいですか?

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 に答える